Distributed calling method, device, storage medium and electronic device
By transmitting call chain information containing call identification information and application service identification in the distributed call link, the problem of end-to-end business process monitoring across groups and provinces is solved, and efficient fault location and monitoring capabilities are achieved.
Patent Information
- Application Number
- CN202111608274.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-22
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2041-12-22
AI Technical Summary
It is difficult for the existing technology to effectively monitor the end-to-end business process scenarios across groups and provinces, resulting in inefficient communication between the group headquarters and provinces, unclear fault responsibilities, and too long processing time.
By transmitting call chain information in the distributed call link, the call chain information includes call identification information and application service identification, allowing the receiver to effectively monitor the end-to-end business process scenarios across groups and provinces.
It realizes effective monitoring of cross-regional end-to-end business processes, shortens fault location time, and improves IT network monitoring capabilities and customer perception.
Smart Images

Figure CN114301988B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of communication technology, and in particular to a distributed calling method, device, storage medium and electronic device. Background Art
[0002] In order to promote network intelligence, business ecology, and intelligent operation, we will implement intelligent reconstruction of network, business, operation, and management. We will use intelligent IT systems as a carrier to build a data-driven enterprise middle platform, turn data into the blood flowing in the enterprise, and build an integrated intelligent operation system oriented to the market and the front line.
[0003] At present, the IT operation and maintenance capabilities are mainly based on the province and the group headquarters, each of which has established a separate IT network management and monitoring system to monitor the IT production system and production process of the province / headquarters. This monitoring capability is effective for monitoring within the region. However, it is impossible to effectively monitor the end-to-end business process scenarios across groups and provinces. For example, in the event of a system failure in a certain region, the domain monitoring system can only display the operation monitoring results of the IT system in the place where the business process is located, but cannot obtain the overall operation status of the business process. This has led to inefficient problem communication between the group headquarters and provinces, unclear fault responsibilities, and long processing time, and has affected IT users' perception of services. Summary of the invention
[0004] The purpose of the present disclosure is to provide a distributed calling method, device, storage medium and electronic device, which at least to a certain extent overcome the problem in the related art that effective monitoring of end-to-end business process scenarios across groups and provinces cannot be formed.
[0005] One or more embodiments of the present disclosure provide a distributed calling method, including: obtaining a calling request initiated by a requester; obtaining calling chain information from the calling request, wherein the calling chain information includes calling chain identification class information and application service information, and the application service information includes an application service identification; generating new calling chain information, recording the new calling chain information in the calling request, and obtaining an updated calling request; and sending the updated calling request to a recipient.
[0006] Optionally, the application service information also includes: a service port number.
[0007] Optionally, the application service identifier includes: a network-wide unified code and an application service name.
[0008] Optionally, the call chain information further includes: at least one of the following business fields: a business serial number, a type of a current node in a business call link, and an address of a called service.
[0009] Optionally, the call chain information also includes: at least one of the following business fields: business scenario code, business order number, business number, order generation time, order completion time, order status, and business return result code.
[0010] Optionally, the call chain information also includes: at least one of the following business fields: a persistent address, a network card physical address corresponding to an Internet Protocol IP address in a network service endpoint, a program error identifier, and an error type.
[0011] Optionally, the call chain information also includes: at least one of the following business fields: the domain part of the Uniform Resource Locator URL or host header, the Hypertext Transfer Protocol HTTP method or verb, the absolute HTTP path, the URL address, the HTTP status code, the request message body size, and the response message body size.
[0012] Optionally, the call chain information also includes: at least one of the following business fields: a client address in a network call, a server address in a network call, and an internal call.
[0013] One or more embodiments of the present disclosure also provide a distributed calling device, including: a first acquisition module, used to obtain a calling request initiated by a requester; a second acquisition module, used to obtain calling chain information from the calling request, wherein the calling chain information includes calling chain identification class information and application service information, and the application service information includes an application service identification; a generating module, used to generate new calling chain information, record the new calling chain information in the calling request, and obtain an updated calling request; and a sending module, used to send the updated calling request to a recipient.
[0014] One or more embodiments of the present disclosure further provide an electronic device, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute any one of the distributed calling methods provided by the embodiments of the present disclosure by executing the executable instructions.
[0015] One or more embodiments of the present disclosure further provide a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, any one of the distributed calling methods provided by the embodiments of the present disclosure is implemented.
[0016] The distributed calling method, device, storage medium and electronic device of the embodiments of the present disclosure transmit call chain information in the entire process of distributed calling. The call chain information has call identification information and application service identification, so that the recipient can effectively monitor the end-to-end business process scenarios across groups and provinces based on the call identification information and application service identification.
[0017] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification are used to explain the principles of the present disclosure. Obviously, the accompanying drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without creative work.
[0019] Figure 1 is a flow chart of a distributed calling method according to one or more embodiments of the present disclosure;
[0020] Figure 2 It is a schematic diagram of the time required to locate IT faults of the entire network service by using the distributed calling method of one or more embodiments of the present disclosure;
[0021] Figure 3 It is a schematic diagram of the time consumption required for tracking cross-regional direct flushing services by applying the distributed calling method of one or more embodiments of the present disclosure;
[0022] Figure 4 is a schematic diagram of a call chain data model according to one or more embodiments of the present disclosure;
[0023] Figure 5 is a flowchart of a distributed calling method according to one or more embodiments of the present disclosure;
[0024] Figure 6 is a flow chart of a distributed calling apparatus according to one or more embodiments of the present disclosure; and
[0025] Figure 7 is a schematic structural diagram of an electronic device according to one or more embodiments of the present disclosure. DETAILED DESCRIPTION
[0026] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that the disclosure will be more comprehensive and complete and to fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0027] In addition, the accompanying drawings are only schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the figures represent the same or similar parts, and their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor devices and / or microcontroller devices.
[0028] Figure 1 is a flow chart of a distributed calling method according to one or more embodiments of the present disclosure. Figure 1 As shown, the method includes:
[0029] Step S102: Obtain a call request initiated by the requester;
[0030] Optionally, the distributed calling method of the embodiment of the present disclosure may be executed by any node in the distributed calling link except the initial calling end. Correspondingly, the requester may be the initiator of the calling request in the distributed calling link.
[0031] Step S104: Acquire call chain information from the call request, wherein the call chain information includes call chain identification class information and application service information, and the application service information includes an application service identification;
[0032] Optionally, in order to reflect the data model of the full view of the operation of the communication business and ensure that data collection, aggregation and the final IT service resource tree model can be automatically generated, one or more embodiments of the present disclosure select the Zipkin protocol framework as the main framework of the IT service resource tree, and redefine this protocol framework to propose a distributed call chain data model involving protocol Header fields and call chain logs. Among them, the call chain identification class information involved can use the existing fields of Zipkin, and may include traceId, spanId, parentSpanId, sampledFlag, and debugFlag values. The description of each field of the protocol Header is shown in Table 1 below:
[0033] Table 1
[0034]
[0035]
[0036] Optionally, the disclosed embodiment adds an application service identifier to the call chain information, which can uniquely identify the called service. The application service identifier can be provided in the form of a service name, and the service name can be output by the original system. Through the service name and the region reflected in the file name of the uploaded message, it can be known which system in which province implements the current service. This can effectively monitor the end-to-end business process scenarios across groups and provinces.
[0037] Step S106: Generate new call chain information, and record the new call chain information in the call request to obtain an updated call request;
[0038] Optionally, the current node obtains the traceId, spanId, parentSpanId, sampledFlag, and debugFlag values sent by the upstream node, generates a new spanId, and then writes the current traceId, spanId, parentSpanId, sampledFlag, and debugFlag to the front of the route_record (route record) and transmits it to the next node.
[0039] Step S108: Send the updated call request to the recipient.
[0040] Among them, the receiver is the next node of the current node in the distributed call link.
[0041] The distributed calling method of the embodiment of the present disclosure transmits calling chain information in the entire process of distributed calling. The calling chain information has calling identification information and application service identification, so that the receiving party can effectively monitor the end-to-end business process scenarios across groups and provinces based on the calling identification information and application service identification.
[0042] In one or more embodiments of the present disclosure, the application service information may further include:
[0043] Service port number. For example, you can add port as the service port number field in the message. Based on this, the receiver can learn about the order in the current log, the process that processes the order, the service that accepts the order, and the region to which the host belongs, that is, the region to which the service belongs, and which process on which host in which region handles the service.
[0044] In one or more embodiments of the present disclosure, the application service identifier may include:
[0045] Network-wide unified code and application service name. Optionally, the unified format of "system code.service name" can be used as the application service identifier, where the system code can be a network-wide unified code, such as a telecommunications network-wide unified code. The service name can be output by the original system itself. The region can be reflected through the service name and the file name of the uploaded message, and the system that implements the current service and the province to which the system belongs can be known, that is, which system in which province implements this service.
[0046] In one or more embodiments of the present disclosure, in order to support the serial connection of the service chain mode, some special KEY values are additionally defined in the application extension information to define different service fields. Based on this, the call chain information may also include: at least one of the following service fields:
[0047] Business serial number, type of current node in business call link, and address of called service.
[0048] Optionally, the KEY names of the above business fields can be expressed as bc.id, bc.type and bc.url, respectively, where bc.id is a business field shared by upstream and downstream systems in a certain business scenario, through which the current order information can be uniquely identified. For example, the sessionid field in the group recharge scenario can uniquely identify the current recharge order; bc.type is the node type of this link in the business call link, and the value of bc.type can be c or s, c represents client service, and s represents server service. bc.url is the service address, which is used to identify the specific address of the called service. The caller and the called party are required to fill in the same address and describe it in URL style. When bc.type=s, it is the address of the current service; when bc.type=c, the peer service address is used.
[0049] Based on the above bc.url, bc.id and bc.type, when the original system cannot be modified (that is, when the traceId cannot be passed to the next link), the plug-in program can read the data in the relevant system database and output the log according to the defined bc.url, bc.id and bc.type to achieve the association between upstream and downstream system services.
[0050] In one or more embodiments of the present disclosure, different business fields (with different KEY values) are defined for different scenarios. Based on the call chain information, at least one of the following business fields may also be included:
[0051] Business scenario code, business order number, business number, order generation time, order completion time, order status, and business return result code. Among them, the business scenario code indicates the scenario in which the business is located. The KEY name of the business scenario code is bz.scenarioCode, such as "4G service new installation acceptance and activation scenario", the business scenario code is "10111010001"; the business order number is used to associate the call chain data with the business data. For example, when abnormal orders or timed orders occur, you can use bz.orderNo to search the database or business system to get more detailed business information; the business number is used to identify the business type, and the KEY name is bz.servNo; the order generation time is used to indicate the generation time of the customer order, and the KEY name is bz.acceptTime; the order completion time is used to indicate the completion time of the customer order, and the KEY name is bz.custOrderFinishTime; the order status is used to indicate the status of the customer order, and the KEY name is bz.custOrderStatus; the business return result code is used to indicate the business processing result, and a value of "0" indicates "success", a value of "1" indicates "timeout", and other values indicate an error.
[0052] In one or more embodiments of the present disclosure, the call chain information may further include: at least one of the following business fields:
[0053] The persistent address, the physical address of the network card corresponding to the Internet Protocol IP address in the network service endpoint, the program error identifier and the error type.
[0054] Among them, the persistent address is used to indicate the address where the data is saved to the hard disk, and the KEY name is bz.persistUrl; the KEY name of the physical address of the network card corresponding to the IP address in the network service endpoint is env.mac; the program error identifier is used to identify when the error occurs and the description of the error content, and the KEY name is bz.error; the error type is used to indicate the type of error that occurs, and the KEY name is bz.errorType.
[0055] In one or more embodiments of the present disclosure, the call chain information may further include: at least one of the following business fields:
[0056] The domain part of the URL or host header, the HTTP method or verb, the absolute HTTP path, the URL address, the HTTP status code, the request message body size, and the response message body size.
[0057] Among them, the KEY of the domain part of the URL or host header can be expressed as http.host; the KEY of the HTTP method or verb can be expressed as http.method; the KEY of the absolute HTTP path can be expressed as http.path; the URL address can represent the entire URL address, including the scheme, host and query parameters, and the KEY can be expressed as http.url; the KEY of the HTTP status code can be expressed as http.status_code; the KEY of the request message body size can be expressed as http.request.size; the KEY of the response message body size can be expressed as http.response.size.
[0058] In one or more embodiments of the present disclosure, the call chain information may further include: at least one of the following business fields:
[0059] Client address in network calls, server address in network calls, and internal calls.
[0060] Among them, the client address in the network call may include port and / or URL, etc., and KEY can be expressed as ca; the server address in the network call can also include port and / or URL, etc., and KEY can be expressed as sa; internal call is used to indicate internal call (without accessing external services or components through IP, port), and KEY can be expressed as lc.
[0061] like Figure 2 As shown, by applying the distributed calling method of the embodiment of the present disclosure, the time for locating IT faults of the entire network service can be shortened from more than 30 minutes to less than 3 minutes; Figure 3 As shown, the order process can be tracked in seconds. It can be seen that the distributed calling method of the embodiment of the present disclosure improves the IT network monitoring capability, shortens the troubleshooting time, and improves customer perception.
[0062] Optionally, the call chain log involved in the distributed call chain data model may be as shown in Table 2 below:
[0063] Table 2
[0064]
[0065]
[0066] The disclosed embodiment expands the Zipkin log protocol to form an improved call chain data model. Figure 4 A schematic diagram of a call chain data model according to an embodiment of the present disclosure.
[0067] in, Figure 4The first part shown in the figure is the call chain identification class information. This part can directly use the original Zipkin fields.
[0068] Figure 4 The second part of the application service information is the application service information. In the embodiment of the present disclosure, the application service information can be improved as follows:
[0069] The definition of service name is standardized, using the unified format of "system code.service name", where the system code is a unified code for the entire telecommunications network, and the service name can be output by the original system. Through the region reflected by the system name and the file name of the uploaded message, it is possible to obtain which system in which province implements the current service.
[0070] Add port as the service port number. Through the IP address and port, you can know which region, host and process handles the order in the current log and the service that receives the order.
[0071] Figure 4 The third part is the application extension information, that is, the business information. In the embodiment of the present disclosure, the business information can be improved as follows:
[0072] Different business fields (with different key values) are defined for different business scenarios. For example, the order number in the original system is added (the order number may change continuously when passing through different systems), user number, acceptance channel, etc.
[0073] To support the serial connection of business chains, some special key values are defined, such as bc.url, bc.id, and bc.type mentioned above.
[0074] According to bc.url, bc.id, and bc.type, when the original system cannot be modified, the plug-in program can read the data in the relevant system database and perform the following operations: Figure 4 The call chain data model shown is used for log output.
[0075] The business fields involved are described below in Table 3. In Table 3, the KEY name is the KEY name of the business field, the KEY description describes the meaning of the business field, and the filling requirements for the business field in each link of the distributed call are described in the filling requirements.
[0076] Table 3
[0077]
[0078]
[0079]
[0080]
[0081]
[0082] It should be noted that the KEY values of the newly added business fields involved in Table 3 above can be officially released to the entire network after definition, so as to unify the collection caliber across the entire network.
[0083] Figure 5 is a flow chart of a distributed calling method according to one or more embodiments of the present disclosure, wherein the nodes involved in the method include an external system 512, a SGW (Serving GateWay, service gateway) 514, a SR (Service Router, full service router) 516, an internal application 518, and an external system 520, such as Figure 5 As shown, the method includes:
[0084] SR reads the traceId, spanId, parentSpanId, sampledFlag, and debugFlag values transmitted from the upstream link from the SGW application, and generates a new spanId at 1 and 2 in the figure. At 2, the current traceId, spanId, parentSpanId, sampledFlag, and debugFlag need to be written at the front end of route_record and transmitted to the next link (ie, SR). After the calls at 1 and 2 are completed, two logs, server_receive (server_receive) and server_send (server_send), client_send (client_receive) and client_receive (client_send), are spit out respectively, as shown below:
[0085] SGW's sr and ss logs (server_receive, server_send);
[0086] Among them, sr indicates the time when the external system request is received, and ss indicates the time when the external system is replied. sr and ss are output in the same log, and bz.billing.sessionId (an example of the above bc.id) is filled in binaryAnnotations, such as:
[0087]
[0088]
[0089] Timestamp is in timestamp format, which refers to the message arrival time; Duration is in timestamp format, which refers to the message sending time minus the message arrival time.
[0090] SGW's cs and cr logs (client_send, client_receive);
[0091] cs indicates the time when SGW accesses SR, and cr indicates the time when SR replies to SGW. cs and cr are output in the same log, and bz.billing.sessionId is filled in binaryAnnotations. bz.billing.route_record is also needed to indicate the subsequent links, such as:
[0092]
[0093]
[0094] If there is a call to an external system at the end of billing, logs need to be output as well ( Figure 2 3 and 4 in the middle). Figure 5 In the 3rd place, the call received by SR obtains traceId, spanId, parentSpanId, sampledFlag, debugFlag from route_record, and generates a new spanId. In the 4th place, a new spanId is generated, and the five fields of traceId, spanId, parentSpanId, sampledFlag, and debugFlag are passed to the next link. After the method calls in the 3rd and 4th places are completed, two logs, server_receive and server_send, and client_send and client_receive, are spit out respectively, as shown below:
[0095] sr (server_receive) and ss (server_send log) of other billing network elements. sr indicates the time when the last link is accessed by the previous link, and ss indicates the time when the last link replies to the previous link. sr and ss are output in the same log, and bz.billing.sessionId is filled in binaryAnnotations, such as:
[0096]
[0097]
[0098] cs (client_send) and cr (client_receive) logs of other billing network elements. cs indicates the time of accessing the external system, and cr indicates the time of the external system replying. cs and cr are output in the same log, and bz.billing.sessionId is filled in binaryAnnotations. bz.billing.route_record also needs to be filled in to indicate the subsequent links, such as:
[0099]
[0100]
[0101]
[0102] Figure 6 is a structural diagram of a distributed calling device according to one or more embodiments of the present disclosure, such as Figure 6 As shown, the device 610 includes:
[0103] A first acquisition module 612 is used to acquire a call request initiated by a requester;
[0104] A second acquisition module 614 is used to acquire call chain information from the call request, wherein the call chain information includes call chain identification class information and application service information, and the application service information includes an application service identification;
[0105] A generating module 616, configured to generate new call chain information, and record the new call chain information in the call request to obtain an updated call request;
[0106] The sending module 618 is used to send the updated call request to the recipient.
[0107] One or more embodiments of the present disclosure further provide an electronic device, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute any one of the distributed calling methods provided by the embodiments of the present disclosure by executing the executable instructions.
[0108] One or more embodiments of the present disclosure further provide a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, any one of the distributed calling methods provided by the embodiments of the present disclosure is implemented.
[0109] Refer to the following Figure 7 An electronic device 700 according to this embodiment of the present disclosure is described. Figure 7The electronic device 700 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0110] like Figure 7 As shown, the electronic device 700 is in the form of a general computing device. The components of the electronic device 700 may include but are not limited to: at least one processing unit 710, at least one storage unit 720, and a bus 730 connecting different system components (including the storage unit 720 and the processing unit 710).
[0111] The storage unit stores program codes, which can be executed by the processing unit 710, so that the processing unit 710 performs the steps according to various exemplary embodiments of the present disclosure described in the above “Exemplary Method” section of this specification. For example, the processing unit 710 can perform the following steps: Figure 1 Step S102 shown in: obtaining a call request initiated by the requester; step S104: obtaining call chain information from the call request, wherein the call chain information includes call chain identification class information and application service information, and the application service information includes application service identification; step S106: generating new call chain information, recording the new call chain information in the call request, and obtaining an updated call request; step S108: sending the updated call request to the recipient.
[0112] The storage unit 720 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 7201 and / or a cache storage unit 7202 , and may further include a read-only storage unit (ROM) 7203 .
[0113] The storage unit 720 may also include a program / utility 7204 having a set (at least one) of program modules 7205, such program modules 7205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0114] Bus 730 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0115] The electronic device 700 may also communicate with one or more external devices 800 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 700, and / or communicate with any device that enables the electronic device 700 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 750. Furthermore, the electronic device 700 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 760. As shown, the network adapter 760 communicates with other modules of the electronic device 700 via a bus 730. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 700, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0116] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the above method of the present specification is stored. In some possible implementations, various aspects of the present disclosure may also be implemented in the form of a program product, which includes a program code, and when the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps according to various exemplary implementations of the present disclosure described in the above "Exemplary Method" section of the present specification.
[0117] A program product for implementing the above method according to an embodiment of the present disclosure is described, which can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, apparatus, or device.
[0118] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0119] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0120] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
[0121] Program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).
[0122] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.
[0123] In addition, although the steps of the method in the present disclosure are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.
[0124] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the implementation of the present disclosure.
[0125] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any modification, use or adaptation of the present disclosure, which follows the general principles of the present disclosure and includes common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the appended claims.
Claims
1. A distributed calling method, characterized in that: include: Get the call request initiated by the requester; Acquire call chain information from the call request, wherein the call chain information includes call chain identification class information and application service information, and the application service information includes an application service identification; Generate new call chain information, record the new call chain information in the call request, and obtain an updated call request; Send the updated call request to the recipient; The application service identifier includes: a unified network code and an application service name; the application service name is output by the original system and is used to determine the current service system; The call chain information also includes: At least one of the following business fields: The business serial number, the type of the current node in the business call link, and the address of the called service. The business serial number is a field shared by the upstream and downstream systems; The method also includes: when the original system cannot be modified, the plug-in program reads the data in the relevant system database and outputs the log according to the defined business serial number, the type of the current node in the business call link and the address of the called service to achieve the association between the upstream and downstream system services.
2. According to the distributed calling method of claim 1, the application service information further includes: Service port number.
3. The distributed calling method according to claim 1, characterized in that: The call chain information also includes: At least one of the following business fields: Business scenario code, business order number, business number, order generation time, order completion time, order status and business return result code.
4. The distributed calling method according to claim 1, characterized in that: The call chain information also includes: At least one of the following business fields: The persistent address, the physical address of the network card corresponding to the Internet Protocol IP address in the network service endpoint, the program error identifier and the error type.
5. The distributed calling method according to claim 1, characterized in that: The call chain information also includes: At least one of the following business fields: The domain part of the Uniform Resource Locator URL or host header, the Hypertext Transfer Protocol HTTP method or verb, the absolute HTTP path, the URL address, the HTTP status code, the request message body size, and the response message body size.
6. The distributed calling method according to any one of claims 1 to 5, characterized in that: The call chain information also includes: At least one of the following business fields: Client address in network calls, server address in network calls, and internal calls.
7. A distributed calling device, characterized in that: include: A first acquisition module, used to acquire a call request initiated by a requester; A second acquisition module is used to acquire call chain information from the call request, wherein the call chain information includes call chain identification class information and application service information, and the application service information includes an application service identification; A generation module, used to generate new call chain information, record the new call chain information in the call request, and obtain an updated call request; A sending module, used to send the updated call request to the receiving party; The application service identifier includes: a unified network code and an application service name; the application service name is output by the original system and is used to determine the current service system; The call chain information also includes: At least one of the following business fields: The business serial number, the type of the current node in the business call link, and the address of the called service. The business serial number is a field shared by the upstream and downstream systems; Among them, the distributed calling device is also used for: when the original system cannot be modified, the plug-in program reads the data in the relevant system database, and outputs the log according to the defined business serial number, the type of the current node in the business call link and the address of the called service, so as to realize the association between the upstream and downstream system services.
8. An electronic device, characterized in that: include: processor; as well as A memory, configured to store executable instructions of the processor; The processor is configured to execute the distributed calling method according to any one of claims 1 to 6 by executing the executable instructions.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the distributed calling method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Method and device for processing call request in distributed system
CN104219316A