Concurrent access control method and device, product, equipment and medium

The concurrent access control method addresses the challenge of managing high-concurrency access in aviation communication systems by using service identifiers, concurrency thresholds, and timeout periods to optimize resource utilization and ensure stable airline interactions.

CN119210858AActive Publication Date: 2024-12-27TRAVELSKY TECHNOLOGY LIMITED
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202411366300.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2024-12-27
Estimated Expiration
2044-09-27

AI Technical Summary

Technical Problem

Existing communication systems in the aviation industry face challenges in managing high-concurrency access and ensuring smooth information flow while maintaining business stability, particularly in complex scenarios involving multiple airlines, due to the limitations of the HTH protocol in handling different business identities and airline sizes.

Method used

A concurrent access control method that determines service identifiers based on source and destination addresses and message types, using concurrency thresholds and timeout periods to manage access, distinguishing between messages with and without contextual relationships, and employing a concurrent access control device to implement these controls.

Benefits of technology

This method provides precise control over concurrent access, optimizing resource utilization and ensuring stable service interactions between airlines, enhancing system stability and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119210858A_ABST
    Figure CN119210858A_ABST
Patent Text Reader

Abstract

The invention provides a concurrent access control method and device, a product, equipment and a medium. The method comprises the following steps: receiving a request message; obtaining a source address, a destination address, a message type, a first target identifier and a second target identifier from the request message; determining service identifiers corresponding to the source address, the destination address and the message type; determining a concurrency threshold value corresponding to the service identifier; if the first target identifier indicates that the request message does not have the context relationship with other messages, determining whether to allow the second airline company to process the request message based on a second target identifier and a concurrency threshold; if the first target identifier indicates that the request message and other messages have a context relationship, determining a concurrent timeout time corresponding to the second target identifier; and determining whether the request message is allowed to be processed by the second airline company based on the concurrency threshold, the concurrency timeout time and the second target identifier.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of aviation information technology, and in particular to a concurrent access control method, device, product, equipment and medium. Background Art

[0002] With the vigorous development of the civil aviation industry, the rapid growth of passenger traffic has directly promoted the continuous expansion of airport infrastructure to meet the growing travel demand. At the same time, the processing volume of core business processes such as reservation systems, flight inquiries, and departure services has increased sharply, and the complexity of business logic has also increased significantly, which has put forward higher requirements on the system's response speed, data processing capabilities, and business processing capabilities.

[0003] This profound industry change has posed unprecedented challenges to the underlying communication systems that support these key business processes. Especially in the context of frequent information exchange between multiple airlines, how to effectively manage high-concurrency access, ensure smooth information flow, and at the same time guarantee the business stability of the system has become a technical problem that needs to be solved urgently. Summary of the invention

[0004] To solve the above technical problems, the technical solutions provided by the embodiments of the present application are as follows:

[0005] On one hand, the present application provides a concurrent access control method, comprising:

[0006] Receive request message;

[0007] Acquire a source address, a destination address, a message type, a first target identifier, and a second target identifier from the request message; the source address corresponds to the first airline initiating the access; the destination address corresponds to the second airline responding to the access; the first target identifier is used to indicate whether the request message has a contextual relationship with other messages; the second target identifier is used to identify the terminal sending the request message;

[0008] Determine the service identifier corresponding to the source address, the destination address and the message type;

[0009] Determine a concurrency threshold corresponding to the service identifier; the concurrency threshold represents a limit on the current concurrent access volume of the service identified by the service;

[0010] If the first target identifier indicates that the request message has no contextual relationship with other messages, determining whether to allow the second airline to process the request message based on the second target identifier and the concurrency threshold;

[0011] If the first target identifier indicates that the request message has a contextual relationship with other messages, determine a concurrency timeout period corresponding to the second target identifier;

[0012] Based on the concurrency threshold, the concurrency timeout period and the second target identifier, it is determined whether to allow the second airline to process the request message.

[0013] In a possible implementation, determining whether to allow the second airline to process the request message based on the second target identifier and the concurrency threshold includes:

[0014] If the second target identifier of a request message before the request message that has not been responded to by the second airline is the same as the second target identifier, refusing to let the second airline process the request message;

[0015] If the second target identifier of a request message that was not responded to by the second airline before the request message is different from the second target identifier, and the concurrency threshold is greater than 0, the second airline is allowed to process the request message, and the concurrency threshold is decremented to obtain a new concurrency threshold;

[0016] If the second target identifier of a request message before the request message that has not received a response from the second airline is different from the second target identifier, and the concurrency threshold is not greater than 0, the request message is refused to be processed by the second airline.

[0017] In a possible implementation, determining whether to allow the second airline to process the request message based on the concurrency threshold, the concurrency timeout period, and the second target identifier includes:

[0018] If the first target identifier also indicates that the request message is the first message in the context relationship, establishing an occupation relationship between the second target identifier and the request message, and setting the concurrency timeout period for the occupation relationship;

[0019] If the duration of the occupancy relationship does not reach the concurrency timeout period, determining whether to allow the second airline to process the request message based on the concurrency threshold;

[0020] If the duration of the occupancy relationship reaches the concurrent timeout period, the occupancy relationship is terminated.

[0021] In a possible implementation, determining whether to allow the second airline to process the request message based on the concurrency threshold, the concurrency timeout period, and the second target identifier includes:

[0022] If the first target identifier also indicates that the request message is an intermediate message in the context relationship, searching whether there is an occupation relationship corresponding to the second target identifier;

[0023] If so, and the duration of the occupation relationship does not reach the concurrency timeout period, the second airline is allowed to process the request message and update the concurrency timeout period for the occupation relationship;

[0024] If the duration of the occupancy relationship reaches the concurrent timeout period, the occupancy relationship is terminated.

[0025] In a possible implementation, determining whether to allow the second airline to process the request message based on the concurrency threshold, the concurrency timeout period, and the second target identifier includes:

[0026] If the first target identifier also indicates that the request message is the last message in the context relationship, searching whether there is an occupation relationship corresponding to the second target identifier;

[0027] If it exists, and the duration of the occupation relationship does not reach the concurrency timeout period, the second airline is allowed to process the request message, and the occupation relationship and the concurrency timeout period are deleted, and the concurrency threshold is incremented to obtain a new concurrency threshold;

[0028] If the duration of the occupancy relationship reaches the concurrent timeout period, the occupancy relationship is terminated.

[0029] Another aspect of the present application provides a concurrent access control device, comprising:

[0030] A message admission module, used for receiving request messages;

[0031] A message parsing module, used for obtaining a source address, a destination address, a message type, a first target identifier and a second target identifier from the request message; the source address corresponds to a first airline initiating the access; the destination address corresponds to a second airline responding to the access; the first target identifier is used to indicate whether the request message has a contextual relationship with other messages; the second target identifier is used to identify a terminal sending the request message;

[0032] A concurrent access control module, used to determine the service identifier corresponding to the source address, the destination address and the message type;

[0033] A concurrent threshold limiting module, used to determine the concurrent threshold corresponding to the service identifier; the concurrent threshold represents the current concurrent access limit of the service of the service identifier;

[0034] The concurrent access control module is further configured to determine whether to allow the second airline to process the request message based on the second target identifier and the concurrent threshold if the first target identifier indicates that the request message has no contextual relationship with other messages;

[0035] A concurrency timeout processing module, configured to determine a concurrency timeout time corresponding to the second target identifier if the first target identifier indicates that the request message has a contextual relationship with other messages;

[0036] The concurrent access control module is further used to determine whether to allow the second airline to process the request message based on the concurrent threshold, the concurrent timeout period and the second target identifier.

[0037] In a possible implementation, the concurrent access control module is specifically used to:

[0038] If the second target identifier of a request message before the request message that has not been responded to by the second airline is the same as the second target identifier, refusing to let the second airline process the request message;

[0039] If the second target identifier of a request message that was not responded to by the second airline before the request message is different from the second target identifier, and the concurrency threshold is greater than 0, the second airline is allowed to process the request message, and the concurrency threshold is decremented to obtain a new concurrency threshold;

[0040] If the second target identifier of a request message before the request message that has not received a response from the second airline is different from the second target identifier, and the concurrency threshold is not greater than 0, the request message is refused to be processed by the second airline.

[0041] A third aspect of the present application provides a computer program product, comprising computer-readable instructions, which, when executed on an electronic device, enables the electronic device to implement any of the concurrent access control methods described above.

[0042] A fourth aspect of the present application provides an electronic device, comprising at least one processor and a memory connected to the processor, wherein:

[0043] The memory is used to store computer programs;

[0044] The processor is used to execute the computer program so that the electronic device can implement any of the concurrent access control methods described above.

[0045] In a fifth aspect, the present application provides a computer storage medium, which carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement a concurrent access control method as described in any one of the above.

[0046] Compared with the prior art, the beneficial effects of this application are:

[0047] In the present application, by obtaining a request message, obtaining the source address, destination address, message type, and first target identifier from the request message, determining the service identifier corresponding to the source address, destination address, and message type, the service identifier can represent the airline corresponding to the source address (i.e., a first airline) accessing a certain service of the airline corresponding to the destination address (i.e., a second airline), and determining the concurrency threshold corresponding to the service identifier. Since the concurrency threshold represents the current concurrent access limit of the service represented by the service identifier, that is, the setting of the concurrency threshold takes into account the comprehensive factors of the source address, destination address, and message type, therefore, based on the concurrency threshold, determining whether the request message is allowed to be processed by the second airline, it is possible to achieve precise control of concurrent access to a specific service of the second airline when a specific first airline accesses. The above-mentioned concurrent access control method is applicable to different first airlines, and can ensure that no matter which first airline initiates the request, the stability of the second airline's service can be protected, resource utilization efficiency can be optimized, and stable and efficient support can be provided for service interaction between airlines.

[0048] In addition, the first target identifier is used to distinguish whether the request message has a contextual relationship with other messages, so as to adopt different concurrent access control methods. That is, for messages without contextual relationship, the concurrent threshold and the second target identifier are mainly concerned; while for messages with contextual relationship, the concurrent threshold, concurrent timeout time and the second target identifier are comprehensively considered. This diversified judgment method makes concurrent access control more accurate and efficient. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale.

[0050] Figure 1 It is a flowchart of a concurrent access control method provided in Example 1 of the present application;

[0051] Figure 2 It is a flowchart of a concurrent access control method provided in Example 2 of the present application;

[0052] Figure 3 It is a flowchart of a concurrent access control method provided in Example 3 of the present application;

[0053] Figure 4 It is a flowchart of a concurrent access control method provided in Example 4 of the present application;

[0054] Figure 5 It is a flowchart of a concurrent access control method provided in Example 5 of the present application;

[0055] Figure 6 It is a structural diagram of a concurrent access control device provided by this application. DETAILED DESCRIPTION

[0056] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0057] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.

[0058] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0059] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0060] At present, the information exchange between airlines mainly relies on MATIP connection (an end-to-end TCP network transmission encapsulation aviation-specific protocol data packets to establish a mapping standard between the transport layer and the application layer that is independent of routing) and follows the HTH protocol formulated by the International Air Transport Association (IATA) (a guide for end-to-end connections formulated by IATA. HTH is a protocol based on the TCP / IP seven-layer network architecture. The 4th, 5th, and 6th layers of HTH correspond to the 4th, 5th, and 6th layers of the OSI model.). The TPR mechanism in the HTH protocol (a field specified in the HTH protocol that contains a unique reference to the resource terminal (such as an agent or program) that makes a request to the remote host. The returned field remains unchanged and can then be used to reallocate resources.) protects the internal system from overload by setting a concurrent access threshold. However, this mechanism is too simple when dealing with complex and changing business scenarios and cannot effectively meet the concurrency control requirements of different business identities and different airline sizes.

[0061] In addition, the HTH protocol also distinguishes between messages with contextual relationships (VYU, i.e., V-first message, T-middle message, U-last message) and messages without contextual relationships (W). This difference in message types is particularly critical in concurrent access control, because messages with contextual relationships require additional resource application and release mechanisms to ensure data consistency and system stability. Therefore, the present application provides a concurrent access control method that expands the dimensions of concurrent access control and the judgment method of concurrent access control to meet the needs of different business scenarios and to perform different controls on messages with or without contextual relationships.

[0062] Next, the concurrent access control method disclosed in the embodiment of the present application is introduced, referring to Figure 1 , is a flowchart of a concurrent access control method provided in Example 1 of the present application, such as Figure 1 As shown, the method may include but is not limited to the following steps:

[0063] Step S101: Obtain a request message.

[0064] In this embodiment, on the basis of establishing a communication connection between the first airline and the second airline, one of the first airline and the second airline can serve as an initiator of access, and the other as a responder of access, wherein the initiator of access can send a request message to the responder of access to request the responder's resources or information, etc. For example, the first airline initiating access can send a query request message to request flight information of the second airline.

[0065] The request message may include a source address, a destination address, a message type and a first target identifier.

[0066] The source address may correspond to the first airline that initiated the access.

[0067] The destination address may correspond to a second airline responding to the call.

[0068] The first target identifier may be used to indicate whether the request message has a contextual relationship with other messages.

[0069] The request message may further include a second target identifier, which may be used to identify the terminal sending the request message.

[0070] Step S102: Obtain a source address, a destination address, a message type, a first target identifier, and a second target identifier from the request message.

[0071] In this embodiment, the source address, destination address, message type, first target identifier and second target identifier are obtained by parsing the request message.

[0072] Step S103: Determine the service identifier corresponding to the source address, the destination address, and the message type.

[0073] In this embodiment, multiple service identifiers can be configured in advance based on various source addresses, destination addresses, and message types, and a corresponding relationship between the service identifier and the source address, destination address, and message type can be established. The service identifier can represent the airline corresponding to the source address accessing a certain service of the airline corresponding to the destination address. For example, the source address corresponds to airline A, the destination address corresponds to airline B, and the service type is a (the service type can be determined based on the message type). The service identifier corresponding to this combination is LABA, and the service identifier LABA represents airline A accessing airline B's service a; or, the source address corresponds to airline C, the destination address corresponds to airline B, and the service type is a. The service identifier corresponding to this combination is LCBa, and the service identifier LCBa represents airline C accessing airline B's service.

[0074] Concurrency thresholds can be configured for various service identifiers, and the concurrency thresholds can represent the limit on the number of concurrent accesses to the service represented by the service identifier. For example, the concurrency threshold corresponding to the service identifier LABA can represent the limit on the number of concurrent accesses of airline A to service a of airline B. Alternatively, the concurrency threshold corresponding to the service identifier LCBa can represent the limit on the number of concurrent accesses of airline C to service a of airline B.

[0075] After the source address, the destination address and the message type are acquired from the request message, the service identifier corresponding to the source address, the destination address and the message type may be searched from the corresponding relationship.

[0076] Step S104: Determine the concurrency threshold corresponding to the service identifier.

[0077] In this embodiment, the concurrency threshold corresponding to the service identifier will decrease as the number of service visits under the service identifier increases. The concurrency threshold may represent the current limit of the number of concurrent visits to the service represented by the service identifier.

[0078] Step S105: If the first target identifier indicates that there is no contextual relationship between the request message and other messages, determine whether to allow the second airline to process the request message based on the second target identifier and the concurrency threshold.

[0079] A context relationship can be a logical structure used to describe the association and order between a series of request messages. In this structure, request messages can be classified into three different roles: the first message, the middle message, and the last message. These three messages can together form a complete message sequence, which is used to transmit information and perform operations during communication or data processing.

[0080] In a context, the first message is the first element in the sequence, which marks the beginning of message delivery or data processing. By definition, there is only one first message in each context.

[0081] Intermediate messages are located between the first message and the last message, and they constitute the main part of the message sequence. Unlike the first and last messages, there can be one or more intermediate messages, and the specific number depends on the complexity of the context relationship and the amount of information that needs to be transmitted.

[0082] The last message is the last element in the context, which marks the end of message delivery or data processing. Similarly, there is only one last message in each context.

[0083] Based on the second target identifier, it can be determined whether the terminal sending the request message has the authority to access the second airline. Based on the concurrency threshold, it can be determined whether the second airline is capable of responding to and processing the request message, and further it can be determined whether the second airline is allowed to process the request message.

[0084] Step S106: If the first target identifier indicates that the request message has a contextual relationship with other messages, determine the concurrency timeout period corresponding to the second target identifier.

[0085] The concurrent timeout period may represent a limit on the duration that the request message occupies for the second target identifier.

[0086] The concurrent timeout period can be set as needed and is not limited in this application.

[0087] Step S107: Determine whether to allow the second airline to process the request message based on the current concurrency threshold, the concurrency timeout period, and the second target identifier.

[0088] Based on the second target identifier, it can be determined whether the terminal sending the request message has the authority to access the second airline. Based on the concurrency threshold, it can be determined whether the second airline is capable of responding to and processing the request message. Based on the concurrency timeout period, it can be determined whether the occupation of the second target identifier is released, and then it can be determined whether the second airline is allowed to process the request message.

[0089] In this embodiment, by obtaining a request message, obtaining the source address, destination address, message type, and first target identifier from the request message, determining the service identifier corresponding to the source address, destination address, and message type, the service identifier can represent the airline corresponding to the source address (i.e., a first airline) accessing a certain service of the airline corresponding to the destination address (i.e., a second airline), and determining the concurrency threshold corresponding to the service identifier. Since the concurrency threshold represents the current concurrent access limit of the service represented by the service identifier, that is, the setting of the concurrency threshold takes into account the comprehensive factors of the source address, destination address, and message type, therefore, based on the concurrency threshold, determining whether to allow the second airline to process the request message can achieve precise control of concurrent access to a specific service of the second airline when a specific first airline accesses. The above-mentioned concurrent access control method is applicable to different first airlines, and can ensure that no matter which first airline initiates the request, the stability of the second airline's service can be protected, resource utilization efficiency can be optimized, and stable and efficient support can be provided for service interaction between airlines.

[0090] In addition, the first target identifier is used to distinguish whether the request message has a contextual relationship with other messages, so as to adopt different concurrent access control methods. That is, for messages without contextual relationship, the concurrent threshold and the second target identifier are mainly concerned; while for messages with contextual relationship, the concurrent threshold, concurrent timeout time and the second target identifier are comprehensively considered. This diversified judgment method makes concurrent access control more accurate and efficient.

[0091] As another optional embodiment of the present application, refer to Figure 2 , is a flowchart of a concurrent access control method provided in Example 2 of the present application. This embodiment is mainly a refinement of step S104 in the above-mentioned Example 1, such as Figure 2 As shown, step S105 may include but is not limited to the following steps:

[0092] Step S1051: If the first target identifier indicates that there is no contextual relationship between the request message and other messages, determine whether the second target identifier of a request message that was not responded to by the second airline before the request message is the same as the second target identifier obtained in step S102.

[0093] In this embodiment, when the request message does not obtain a response, the second target identifier in the request message may be temporarily stored in a designated area, and after the request message obtains a response, the second target identifier may be deleted from the designated area.

[0094] In this embodiment, if the first target identifier indicates that there is no contextual relationship between the request message and other messages, the second target identifier in the above-specified area and the second target identifier may be compared to see whether they are the same.

[0095] If they are the same, execute step S1052; if they are not the same, execute step S1053.

[0096] Step S1052: Refuse the second airline to process the request message.

[0097] Step S1053: Determine whether the concurrency threshold is greater than 0.

[0098] If yes, execute step S1054; if no, execute step S1055.

[0099] Step S1054: allow the second airline to process the request message, and decrement the concurrency threshold to obtain a new concurrency threshold.

[0100] In this embodiment, when the concurrency threshold is decremented, the concurrency threshold may be decremented by one unit, that is, the decrement amount each time is 1. Such a processing method can ensure that the concurrency threshold can be gradually reduced in a controllable and accurate manner.

[0101] Step S1055: Refuse the second airline to process the request message.

[0102] In this embodiment, by determining whether the second target identifier of a request message that was previously sent to the request message and that did not receive a response from the second airline is the same as the second target identifier, repeated processing or potential conflicts by the second airline can be avoided, thereby ensuring the processing efficiency and data consistency of the second airline and preventing waste of resources or data errors due to repeated processing of the same request.

[0103] As another optional embodiment of the present application, refer to Figure 3, is a flowchart of a concurrent access control method provided in Example 3 of the present application. This embodiment is mainly a refinement of step S107 in the above-mentioned Example 1, such as Figure 3 As shown, step S107 may include but is not limited to the following steps:

[0104] Step S1071: If the first target identifier also indicates that the request message is the first message in the context relationship, establish an occupation relationship between the second target identifier and the request message, and set the concurrency timeout period for the occupation relationship.

[0105] Step S1072: If the duration of the occupancy relationship does not reach the concurrency timeout period, determine whether to allow the second airline to process the request message based on the concurrency threshold.

[0106] In this embodiment, it is determined whether the concurrency threshold is greater than 0; if it is greater than 0, the second airline is allowed to process the request message, and the concurrency threshold is decremented to obtain a new concurrency threshold; if the concurrency threshold is not greater than 0, the second airline is refused to process the request message.

[0107] Step S1073: If the duration of the occupancy relationship reaches the concurrent timeout period, the occupancy relationship is terminated.

[0108] After the occupation relationship is released, the second target identifier originally occupied by the first message will no longer be exclusively occupied by the message, and can provide other request messages in the context relationship with the opportunity to use the second target identifier. In particular, since these subsequent request messages can continue to use the same resources as the first message (by sharing or reusing the second target identifier, etc.), this mechanism helps to reduce the cost of resource allocation and configuration, thereby saving the resource cost of the second airline and improving the overall processing efficiency.

[0109] As another optional embodiment of the present application, refer to Figure 4 , is a flowchart of a concurrent access control method provided in Example 4 of the present application. This embodiment is mainly a refinement of step S107 in the above-mentioned Example 1, such as Figure 4 As shown, step S107 may include but is not limited to the following steps:

[0110] Step S1074: If the first target identifier also indicates that the request message is an intermediate message in the context relationship, check whether there is an occupation relationship corresponding to the second target identifier.

[0111] If the first target identifier also indicates that the request message is an intermediate message in the context relationship, it means that the first message or other intermediate messages have appeared before the request message. Therefore, it is necessary to confirm whether a request message has established an occupancy relationship with the second target identifier, and whether the relationship is still active.

[0112] If so, execute step S1075.

[0113] If there is no occupation relationship or the occupation relationship has expired, the intermediate message may be rejected.

[0114] Step S1075: determine whether the time for which the occupancy relationship is maintained does not reach the concurrent timeout time.

[0115] If yes, execute step S1076; if no, execute step S1077.

[0116] Step S1076: Allow the second airline to process the request message and update the concurrent timeout period for the occupancy relationship.

[0117] Updating the concurrency timeout for the occupancy relationship may include: resetting the concurrency timeout of the occupancy relationship to an initial value. For example, if the current concurrency timeout of the occupancy relationship is 150 seconds and the initial value is 300 seconds, then resetting the concurrency timeout of the occupancy relationship to 300 seconds.

[0118] Step S1077, cancel the occupancy relationship.

[0119] In this embodiment, if the occupancy relationship already exists and is valid, then the current request message, as an intermediate message, whose processing is part of the context relationship, should be supported, and the second airline may be allowed to continue processing the current request message.

[0120] At the same time, in order to maintain effective management of the second airline's resources and avoid potential concurrency issues, the concurrency timeout period for the existing occupancy relationship can also be updated to adapt to the changing context requirements.

[0121] As another optional embodiment of the present application, refer to Figure 5 , is a flowchart of a concurrent access control method provided in Example 5 of the present application. This embodiment is mainly a refinement of step S107 in the above-mentioned Example 1, such as Figure 5 As shown, step S107 may include but is not limited to the following steps:

[0122] Step S1078: If the first target identifier also indicates that the request message is the last message in the context relationship, check whether there is an occupation relationship corresponding to the second target identifier.

[0123] If the first target identifier also indicates that the request message is the last message in the context relationship, it means that the first message and the intermediate message have appeared before the request message. Therefore, it is necessary to confirm whether a request message has established an occupancy relationship with the second target identifier and whether the relationship is still active.

[0124] If so, execute step S1079.

[0125] Step S1079: determine whether the time for which the occupancy relationship is maintained does not reach the concurrent timeout time.

[0126] If yes, execute step S10710; if no, execute step S10711.

[0127] Step S10710: allow the second airline to process the request message, delete the occupancy relationship and the concurrency timeout period, and increment the concurrency threshold to obtain a new concurrency threshold.

[0128] If the occupancy relationship already exists and is valid, then the current request message, as the last message, its processing is part of the context relationship and should be supported, and the second airline may be allowed to continue processing the current request message.

[0129] With the successful processing of the last message, the occupancy relationship associated with the second target identifier can be deleted, because this indicates that the processing sequence represented by the occupancy relationship has ended. At the same time, the system will also delete the concurrent timeout associated with the occupancy relationship.

[0130] In addition, with the successful processing of the last message, it means that the concurrent resources previously allocated by the second airline for the message can now be released, and the concurrent threshold can be adaptively increased to reflect the current concurrent access limit of the service represented by the service identifier in real time.

[0131] Step S10711, cancel the occupancy relationship.

[0132] Next, a concurrent access control device provided by the present application is introduced. The concurrent access control device introduced below and the concurrent access control method introduced above can be referred to each other.

[0133] Reference Figure 6 The concurrent access control device includes: a message admission module 100, a message parsing module 200, a concurrent access control module 300, a concurrent threshold limiting module 400, and a concurrent timeout processing module 500.

[0134] The message admission module 100 is used to receive a request message;

[0135] The message parsing module 200 is used to obtain a source address, a destination address, a message type, a first target identifier and a second target identifier from the request message; the source address corresponds to the first airline initiating the access; the destination address corresponds to the second airline responding to the access; the first target identifier is used to indicate whether the request message has a contextual relationship with other messages; the second target identifier is used to identify the terminal sending the request message;

[0136] A concurrent access control module 300, used to determine the service identifier corresponding to the source address, the destination address and the message type;

[0137] The concurrent threshold limiting module 400 is used to determine the concurrent threshold corresponding to the service identifier; the concurrent threshold represents the current concurrent access limit of the service represented by the service identifier;

[0138] The concurrent access control module 300 is further configured to determine whether to allow the second airline to process the request message based on the second target identifier and the concurrency threshold if the first target identifier indicates that the request message has no contextual relationship with other messages;

[0139] A concurrency timeout processing module 500, configured to determine a concurrency timeout time corresponding to the second target identifier if the first target identifier indicates that the request message has a contextual relationship with other messages;

[0140] The concurrent access control module 300 is further configured to determine whether to allow the second airline to process the request message based on the concurrent threshold, the concurrent timeout period and the second target identifier.

[0141] The process in which the concurrent access control module 300 determines whether to allow the second airline to process the request message based on the second target identifier and the concurrent threshold may specifically include:

[0142] If the second target identifier of a request message before the request message that has not been responded to by the second airline is the same as the second target identifier, refusing to let the second airline process the request message;

[0143] If the second target identifier of a request message that was not responded to by the second airline before the request message is different from the second target identifier, and the concurrency threshold is greater than 0, the second airline is allowed to process the request message, and the concurrency threshold is decremented to obtain a new concurrency threshold;

[0144] If the second target identifier of a request message before the request message that has not received a response from the second airline is different from the second target identifier, and the concurrency threshold is not greater than 0, the request message is refused to be processed by the second airline.

[0145] The process in which the concurrent access control module 300 determines whether to allow the second airline to process the request message based on the concurrent threshold, the concurrent timeout period, and the second target identifier may specifically include:

[0146] If the first target identifier also indicates that the request message is the first message in the context relationship, establishing an occupation relationship between the second target identifier and the request message, and setting the concurrency timeout period for the occupation relationship;

[0147] If the duration of the occupancy relationship does not reach the concurrency timeout period, determining whether to allow the second airline to process the request message based on the concurrency threshold;

[0148] If the duration of the occupancy relationship reaches the concurrent timeout period, the occupancy relationship is terminated.

[0149] The process in which the concurrent access control module 300 determines whether to allow the second airline to process the request message based on the concurrent threshold, the concurrent timeout period, and the second target identifier may specifically include:

[0150] If the first target identifier also indicates that the request message is an intermediate message in the context relationship, searching whether there is an occupation relationship corresponding to the second target identifier;

[0151] If so, and the duration of the occupation relationship does not reach the concurrency timeout period, the second airline is allowed to process the request message and update the concurrency timeout period for the occupation relationship;

[0152] If the duration of the occupancy relationship reaches the concurrent timeout period, the occupancy relationship is terminated.

[0153] The process in which the concurrent access control module 300 determines whether to allow the second airline to process the request message based on the concurrent threshold, the concurrent timeout period, and the second target identifier may specifically include:

[0154] If the first target identifier also indicates that the request message is the last message in the context relationship, searching whether there is an occupation relationship corresponding to the second target identifier;

[0155] If it exists, and the duration of the occupation relationship does not reach the concurrency timeout period, the second airline is allowed to process the request message, and the occupation relationship and the concurrency timeout period are deleted, and the concurrency threshold is incremented to obtain a new concurrency threshold;

[0156] If the duration of the occupancy relationship reaches the concurrent timeout period, the occupancy relationship is terminated.

[0157] The interaction among the message admission module 100 , the message parsing module 200 , the concurrent access control module 300 , the concurrent threshold limiting module 400 , and the concurrent timeout processing module 500 is now introduced by way of example.

[0158] For example, there is no contextual relationship between the request message and other messages:

[0159] Step 1: Initial parameter configuration

[0160] Set the source address in the ticket service to 1E, the destination address to ZA, the message type to PAOREQ, and the corresponding service identifier (L5) to "11EZASLQ". Set the concurrency threshold (11EZASLQlimit) corresponding to the L5 "11EZASLQ" to "100". Since the ticket service is non-contextual, there is no concurrency timeout (TPRtimeout).

[0161] Step 2: Message processing

[0162] Assume that the first MATIP request message is received:

[0163] V.

[0164] VHLG.WA / E11EZASLQ / I11EZASLR / P60DA7A

[0165] VYA

[0166] UNB+IATA:1+9E1E1E1E+ZA+191012:0701+396711'UNH+1+PAOREQ:96:2:IA+P1406647AA'MSG+1:46'ORG+1 E:BJS+:HGH193+HGH+++CN'ODI+KOS+SHE'TVL+181019+KOS+NNG+ZA+459+3+1+P'UNT+6+1'UNZ+1+396711'

[0167] The first line is the fourth layer of the HTH message, the second line is the fifth layer of the HTH message, the third line is the sixth layer of the HTH message, and the fourth line is the application message. VHLG.WA / E11EZASLQ / I11EZASLR / P60DA7A

[0168] In the middle, W represents the first target identifier, E11EZASLQ / I11EZASLR represents L5, and P60DA7A represents TPR (the second target identifier).

[0169] The message is parsed to obtain the message type of PAOREQ, the destination address ZA, the source address 1E, and the first target identifier W, TPR = P60DA7A. The corresponding L5 = 11EZASLQ is found. Since the first target identifier is W, the concurrent threshold limiting module 400 is directly called.

[0170] Step 3: Concurrent threshold processing.

[0171] Find out that the concurrency threshold (L5tprlimit) corresponding to L5 “11EZASLQ” determined by the concurrency threshold limiting module 400 is “100”;

[0172] The concurrent access control module 300 determines that 11EZASLQtprlimit is greater than 0, and allows the second airline to process the request message;

[0173] The concurrent threshold limit module 400 sets 11EZASLQtprlimit=99.

[0174] Before receiving the response to the first message, 98 messages from different users but with the same source, destination address and message type, that is, the same L5 request messages, are received, and the second airline is allowed to process each request message; at this time, the concurrent threshold limiting module 400 sets 11EZASLQtprlimit=0.

[0175] Before receiving the response to the previous 99 messages, another message is received from a different user but with the same source, destination address, and message type, that is, the same L5 message. At this time, 11EZASLQtprlimit<0, and the second airline is refused to process the request message.

[0176] Another example: the request message has a contextual relationship with other messages:

[0177] Step 1: Initial parameter configuration

[0178] In the reservation service, set the source address to GP, the destination address to 1E, the message type to ITAREQ, the service identifier (L5) of HWPREQ, CLTREQ to "1GP1EDSQ", set the concurrency threshold (L5tprlimit) corresponding to the L5 "1GP1EDSQ" to "100", and set the concurrency timeout (TPRtimeout) corresponding to the L5 "1GP1EDSQ" to "300" s.

[0179] Step 2: Context message processing + step 3 concurrent threshold processing.

[0180] 1) Assume that a request message from GP to 1E ITAREQ is received from the first user, the first target identifier is V, TPR (second target identifier) ​​= TPR001, at this time, the message parsing module 200 parses the source address as GP, the destination address as 1E, and the message type as ITAREQ. Through the concurrent access control module 300, L5 is obtained as 1GP1EDSQ. Since the first target identifier is not W, the concurrent access control module 300 calls the concurrent timeout processing module 500, and sets TPRtimeout to 300s at this time. Since the first target identifier is V, the concurrent threshold limiting module 400 is called to find that the 1GP1EDSQtprlimit corresponding to 1GP1EDSQ is 100, and the 1GP1EDSQtprlimit value is not 0. 1GP1EDSQtprlimit is reduced by one. At this time, 1GP1EDSQtprlimit is 99. The concurrent threshold limiting module 400 notifies the concurrent access control module 300 that there are available concurrent resources at this time, allowing the request message to be processed.

[0181] 2) Assume that within the timeout period of 300s, 98 ITAREQ request messages of the same L5, 1GP1EDSQ, are received from different users. The first target identifier is V, {TPR}=TPR002, TPR=TPR003, TPR099. Since the first target identifier is not W, the concurrent access control module 300 calls the concurrent timeout processing module 500. The concurrent timeout processing module 500 determines that {TPR} does not exist, so {TPR}timeout is set to 300. The concurrent access control module 300 calls the concurrent threshold limiting module 400 and finds that the 1GP1EDSQtprlimit corresponding to 1GP1EDSQ is 1, and the 1GP1EDSQtprlimit value is not 0. The 1GP1EDSQtprlimit is reduced by one. At this time, 1GP1EDSQtprlimit is 0. The concurrent threshold limiting module 400 notifies the concurrent access control module 300 that there are available concurrent resources at this time, allowing the request message to be processed.

[0182] 3) Assume that within the timeout period of 300s, an ITAREQ request message of the same L5, 1GP1EDSQ of a new user is received. At this time, the 1GP1EDSQtprlimit corresponding to 1GP1EDSQ is 0. The concurrent threshold limiting module 400 notifies the concurrent access control module 300 that there is no available concurrency at this time and rejects the service.

[0183] 4) Assume that within the timeout period of 300s, the first user's L5 is 1GP1EDSQ. The CLTREQ request message is received, the first target identifier is U, and TPR=TPR001. Since the first target identifier is not W, the concurrent access control module 300 calls the concurrent timeout processing module 500, deletes TPR, and calls the concurrent threshold limiting module 400 to increase 1GP1EDSQtprlimit by one. 1GP1EDSQtprlimit is set to 1 to notify the concurrent access control module 300 that there are available concurrent resources at this time.

[0184] 5) Assuming that an ITAREQ request message of the same L5, 1GP1EDSQ of a new user is received within the timeout period of 300s, the concurrent access control module 300 calls the concurrent threshold limiting module 400, finds that the 1GP1EDSQtprlimit corresponding to 1GP1EDSQ is 1, and the 1GP1EDSQtprlimit value is not 0, and reduces 1GP1EDSQtprlimit by one. At this time, 1GP1EDSQtprlimit is 0. The concurrent threshold limiting module 400 notifies the concurrent access control module 300 that there are available concurrent resources at this time, allowing the request message to be processed.

[0185] Step 4: Regularly check TPRtimeout

[0186] The concurrent timeout management module will perform periodic checks, for example, every 5 seconds to check the currently occupied TPR. If it is found that the TPR is occupied for more than 300 seconds, the concurrent access control module 300 is notified that the TPR has timed out. The concurrent access control module 300 calls the concurrent threshold limit module 400 to delete the TPR and increase the L5tprlimit by one.

[0187] Another example: messages with different first target identifiers in context

[0188] Step 1: Initial parameter configuration

[0189] Set the source address in the ticket service to 1S, the destination address to ZA, the message type to ITAREQ, the service identifier (L5) corresponding to CLTREQ to "11SZADSQ", and the concurrency threshold (11SZADSQlimit) corresponding to the L5 "11SZADSQ" to "100". Since the ticket service is contextual, set the concurrency timeout (TPRtimeout) to "300s".

[0190] Step 2: Context message processing

[0191] Receive three messages in sequence

[0192] Article 1:

[0193] V.

[0194] VHLG.VA. / E11SZADSQ / I11SZADSR / P0000A0107

[0195] VYA

[0196] UNB+IATA:1+1S+ZA+240724:1531+FB581981970001'UNH+712+ITAREQ:96:2:IA+590733C13303'ORG +1S+14646015:G9MJ+SFO++T+US:USD+AWT'ODI+GUM+PNH'TVL+060125:0555:060125:0755:0+GUM+M NL+PR+0111:Y+1+5+N'TVL+060125:0945:060125:1220:0+MNL+BKK+PR+0730:Y+1+6+N'TVL+060125 :1410:060125:1520:0+BKK+PNH+ZA+0675:Y+1+7+P'RPI+1+NN'UNT+8+712'UNZ+1+FB581981970001'

[0197] Article 2:

[0198] V.

[0199] VHLG.TB. / E11SZADSQ / I11SZADSR / P0000A0107

[0200] VYA

[0201] UNB+IATA:1+1S+ZA+240724:1536+FB581981970002'UNH+1481+ITAREQ:96:2:IA+590733C13303 / 09E81009003B9B'ORG+1S+14646015:G9 MJ+SFO++T+US:USD+AWT'ODI'TVL+060125:1410:060125:1520:0+BKK+PNH+ZA+0675:Y'RPI+1+XX'UNT+6+1481'UNZ+1+FB581981970002'

[0202] Article 3:

[0203] V.

[0204] VHLG.UC. / E11SZADSQ / I11SZADSR / P0000A0107

[0205] VYA

[0206] UNB+IATA:1+1S+ZA+240724:1536+FB581981970003'UNH+2738+CLTREQ:96:2:IA +590733C13303 / 09E81009003B9B'CLT+A'UNT+3+2738'UNZ+1+FB581981970003'

[0207] Parsing the first message yields the message type ITAREQ, destination address ZA, source address 1S, and first target identifier V, TPR = P0000A0107. Found the corresponding L5 = 11SZADSQ.

[0208] The second message is parsed to obtain the message type as ITAREQ, the destination address ZA, the source address 1S, and the first target identifier T, TPR = P0000A0107. The corresponding L5 = 11SZADSQ is found.

[0209] The third message is parsed to obtain the message type as ITAREQ, the destination address ZA, the source address 1S, and the first target identifier U, TPR = P0000A0107. The corresponding L5 = 11SZADSQ is found.

[0210] Since the first target identifier is not W, the concurrent access control module 300 calls the concurrent timeout processing module 500 and sets TPRtimeout to 300 at this time.

[0211] Step 3: Concurrent threshold processing.

[0212] For the first message, since the first target identifier is V, resource occupation TPR=P0000A0107 is performed, TPRtimeout is set to 300, and the concurrent threshold limiting module 400 is called to find that the 11SZADSQtprlimit corresponding to 11SZADSQ is 100, and the 11SZADSQtprlimit value is not 0. 11SZADSQtprlimit is reduced by one. At this time, 1GP1EDSQtprlimit is 99. The concurrent threshold limiting module 400 notifies the concurrent access control module 300 that there are available concurrent resources at this time, allowing the request message to be processed.

[0213] For the second message, since the first target identifier is T, TPR=P0000A0107 already exists, TPRtimeout is updated to 300, and the concurrent threshold limiting module 400 is called to find that the 11SZADSQtprlimit corresponding to 11SZADSQ is 99, and the 11SZADSQtprlimit value is not 0. The concurrent threshold limiting module 400 notifies the concurrent access control module 300 that there are available concurrent resources at this time, allowing the request message to be processed.

[0214] For the third message, since the first target identifier is U, TPR=P0000A0107 already exists, so TPR is deleted, and the concurrent threshold limiting module 400 is called to find that the 11SZADSQtprlimit corresponding to 11SZADSQ is 99, and 11SZADSQtprlimit is increased by one. At this time, 11SZADSQtprlimit is 100. The concurrent threshold limiting module 400 notifies the concurrent access control module 300 that there are available concurrent resources at this time, allowing the request message to be processed.

[0215] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.

[0216] Although several specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Certain features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination.

[0217] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.

Claims

1. A concurrent access control method, characterized in that: include: Receive request message; Acquire a source address, a destination address, a message type, a first target identifier, and a second target identifier from the request message; The source address corresponds to the first airline initiating the access; the destination address corresponds to the second airline responding to the access; the first target identifier is used to indicate whether the request message has a contextual relationship with other messages; the second target identifier is used to identify the terminal sending the request message; Determine the service identifier corresponding to the source address, the destination address and the message type; Determine a concurrency threshold corresponding to the service identifier; The concurrency threshold represents the limit of the current concurrent access volume of the service represented by the service identifier; If the first target identifier indicates that the request message has no contextual relationship with other messages, determining whether to allow the second airline to process the request message based on the second target identifier and the concurrency threshold; If the first target identifier indicates that the request message has a contextual relationship with other messages, determine a concurrency timeout period corresponding to the second target identifier; Based on the concurrency threshold, the concurrency timeout period and the second target identifier, it is determined whether to allow the second airline to process the request message.

2. The concurrent access control method according to claim 1, characterized in that: Determining whether to allow the second airline to process the request message based on the second target identifier and the concurrency threshold includes: If the second target identifier of a request message before the request message that has not been responded to by the second airline is the same as the second target identifier, refusing to let the second airline process the request message; If the second target identifier of a request message that was not responded to by the second airline before the request message is different from the second target identifier, and the concurrency threshold is greater than 0, the second airline is allowed to process the request message, and the concurrency threshold is decremented to obtain a new concurrency threshold; If the second target identifier of a request message before the request message that has not received a response from the second airline is different from the second target identifier, and the concurrency threshold is not greater than 0, the request message is refused to be processed by the second airline.

3. The method according to claim 1, characterized in that Determining whether to allow the second airline to process the request message based on the concurrency threshold, the concurrency timeout period, and the second target identifier includes: If the first target identifier also indicates that the request message is the first message in the context relationship, establishing an occupation relationship between the second target identifier and the request message, and setting the concurrency timeout period for the occupation relationship; If the duration of the occupancy relationship does not reach the concurrency timeout period, determining whether to allow the second airline to process the request message based on the concurrency threshold; If the duration of the occupancy relationship reaches the concurrent timeout period, the occupancy relationship is terminated.

4. The method according to claim 1, characterized in that: Determining whether to allow the second airline to process the request message based on the concurrency threshold, the concurrency timeout period, and the second target identifier includes: If the first target identifier also indicates that the request message is an intermediate message in the context relationship, searching whether there is an occupation relationship corresponding to the second target identifier; If so, and the duration of the occupation relationship does not reach the concurrency timeout period, the second airline is allowed to process the request message and update the concurrency timeout period for the occupation relationship; If the duration of the occupancy relationship reaches the concurrent timeout period, the occupancy relationship is terminated.

5. The method according to claim 1, characterized in that Determining whether to allow the second airline to process the request message based on the concurrency threshold, the concurrency timeout period, and the second target identifier includes: If the first target identifier also indicates that the request message is the last message in the context relationship, searching whether there is an occupation relationship corresponding to the second target identifier; If it exists, and the duration of the occupation relationship does not reach the concurrency timeout period, the second airline is allowed to process the request message, and the occupation relationship and the concurrency timeout period are deleted, and the concurrency threshold is incremented to obtain a new concurrency threshold; If the duration of the occupancy relationship reaches the concurrent timeout period, the occupancy relationship is terminated.

6. A concurrent access control device, characterized in that: include: A message admission module, used for receiving request messages; A message parsing module, used for obtaining a source address, a destination address, a message type, a first target identifier and a second target identifier from the request message; the source address corresponds to a first airline initiating the access; the destination address corresponds to a second airline responding to the access; the first target identifier is used to indicate whether the request message has a contextual relationship with other messages; the second target identifier is used to identify a terminal sending the request message; A concurrent access control module, used to determine the service identifier corresponding to the source address, the destination address and the message type; A concurrency threshold limiting module, used to determine the concurrency threshold corresponding to the service identifier; The concurrency threshold represents the limit of the current concurrent access volume of the service identified by the service; The concurrent access control module is further configured to determine whether to allow the second airline to process the request message based on the second target identifier and the concurrent threshold if the first target identifier indicates that the request message has no contextual relationship with other messages; A concurrency timeout processing module, configured to determine a concurrency timeout time corresponding to the second target identifier if the first target identifier indicates that the request message has a contextual relationship with other messages; The concurrent access control module is further used to determine whether to allow the second airline to process the request message based on the concurrent threshold, the concurrent timeout period and the second target identifier.

7. The device according to claim 6, characterized in that The concurrent access control module is specifically used for: If the second target identifier of a request message before the request message that has not been responded to by the second airline is the same as the second target identifier, refusing to let the second airline process the request message; If the second target identifier of a request message that was not responded to by the second airline before the request message is different from the second target identifier, and the concurrency threshold is greater than 0, the second airline is allowed to process the request message, and the concurrency threshold is decremented to obtain a new concurrency threshold; If the second target identifier of a request message before the request message that has not received a response from the second airline is different from the second target identifier, and the concurrency threshold is not greater than 0, the request message is refused to be processed by the second airline.

8. A computer program product, characterized in that It comprises computer-readable instructions, and when the computer-readable instructions are executed on an electronic device, the electronic device implements the concurrent access control method as claimed in any one of claims 1 to 5.

9. An electronic device, characterized in that: The method comprises at least one processor and a memory connected to the processor, wherein: The memory is used to store computer programs; The processor is used to execute the computer program so that the electronic device can implement the concurrent access control method as described in any one of claims 1 to 5.

10. A computer storage medium, characterized in that: The storage medium carries one or more computer programs, and when the one or more computer programs are executed by an electronic device, the electronic device can implement the concurrent access control method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Concurrency control method and device

    CN110191160A

  • Request message response method and device

    CN112260958A

  • Message processing method and device

    CN112261121A

  • Concurrent access control method and device, storage medium and equipment

    CN115098197A

  • Communication method and device

    CN115695321A