A session association method for Diameter signaling information and related equipment
By constructing a joint mapping relationship between interface identifiers and session identifiers, the problem of session identification fragmentation caused by the lack of user unique identification information in the Diameter protocol is solved, and the DPI system can achieve accurate user identification and behavior consistency judgment in a multi-interface environment.
Patent Information
- Application Number
- CN202510942651.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-09
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2045-07-09
AI Technical Summary
In the prior art, when the Diameter protocol is applied to multiple core network interfaces, unique user identification information is lost due to design differences among the interfaces in different service processes. This results in the DPI system being unable to accurately attribute Diameter messages, affecting identification accuracy and integrity.
By parsing the header of the Diameter signaling message, the interface identification information and session identification information are extracted, and a joint mapping relationship between the interface identification and the session identification is constructed. In the case that the user's unique identification information is missing, the user's unique identification information is reversely looked up based on the mapping relationship to achieve identity reverse lookup and message completion.
It improves the identification integrity and user attribution accuracy of Diameter messages in asynchronous interaction scenarios, and enhances the DPI system's user status perception and behavior consistency judgment capabilities in multi-interface and multi-process environments.
Smart Images

Figure CN120434640B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer network technology, and in particular to a method for associating Diameter signaling information sessions and related devices. Background Art
[0002] With the widespread deployment of fourth-generation (4G) core network architectures and VoLTE (Voice over Long Term Evolution) networks, the Diameter protocol, as a key signaling protocol, plays a vital role across multiple interfaces, such as S6A, CX, DX, RX, GX, SH, ZH, and SWM. These interfaces enable core functions such as user access authentication, registration management, policy control, session management, and billing control.
[0003] Deep Packet Inspection (DPI) systems require accurate identification and fine-grained control of network behavior, relying on the precise extraction and identification of unique user identifiers. Typical unique user identifiers include the International Mobile Subscriber Identity (IMSI), mobile phone number (MSISDN), and mobile equipment identifier (IMEI).
[0004] However, in existing technologies, the Diameter protocol is used across multiple core network interfaces. Due to design differences across different service flows, some response or intermediate control messages, for example, do not carry unique user identification information. This prevents the DPI system from accurately attributing these messages to the corresponding session. This leads to data fragmentation and identification failures during user context construction and data flow attribution analysis, severely impacting the accuracy and integrity of core network traffic identification.
[0005] Therefore, how to establish an accurate and effective inter-process session association mechanism under the premise that the Diameter protocol message lacks the user's unique identifier has become a technical problem that needs to be solved urgently. Summary of the Invention
[0006] In response to the shortcomings of the existing technology, the present application provides a session association method and related equipment for Diameter signaling information, which at least solves the problem of user identification errors and session attribution failure caused by the fact that some Diameter messages do not carry the user identification field.
[0007] In order to achieve the above objectives and other advantages, some embodiments of the present application provide the following aspects:
[0008] In a first aspect, some embodiments of the present application provide a method for associating Diameter signaling information sessions, including:
[0009] Receive Diameter signaling messages during the signaling interaction process;
[0010] Parsing the header of the Diameter signaling message to extract interface identification information and session identification information;
[0011] Determining whether the Diameter signaling message contains user unique identification information;
[0012] If the user unique identification information is included, extract the user unique identification information, and use the combination of the interface identification information and the session identification information as a keyword to establish a mapping relationship pointing to the user unique identification information;
[0013] If the user unique identification information is not included, the corresponding user unique identification information is searched in the mapping relationship based on the interface identification information and session identification information carried by the current Diameter signaling message. User-related data information is extracted from the Diameter signaling message according to the user unique identification information and written into the corresponding user context.
[0014] In a second aspect, some embodiments of the present application further provide an electronic device, comprising:
[0015] One or more processors; and a memory storing computer program instructions, wherein when the computer program instructions are executed, the processor performs the session association method of Diameter signaling information as described in any one of the above.
[0016] In a third aspect, some embodiments of the present application further provide a computer-readable storage medium having a computer program and / or instructions stored thereon, which, when executed by a processor, implements a method for associating a session of Diameter signaling information as described in any one of the above.
[0017] In a fourth aspect, some embodiments of the present application further provide a computer program product, including a computer program and / or instructions, which, when executed by a processor, implements the session association method of Diameter signaling information as described in any one of the above.
[0018] Compared to related technologies, the solution provided in the embodiments of this application effectively improves the identification integrity and user attribution accuracy of Diameter messages in asynchronous interaction scenarios by establishing a joint mapping relationship between interface identifiers and session identifiers, and implementing identity reverse lookup and message completion in the absence of user identifiers. This solution ensures the continuous extraction and aggregation of user-related session information while the user is online, significantly enhancing the DPI system's ability to fully perceive user status and determine behavioral consistency in a multi-interface, multi-process environment. This solves the problems of session identification fragmentation and behavioral disconnection caused by the missing user identifier field in the existing technology. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other implementation methods can be obtained based on these drawings without paying any creative work.
[0020] Figure 1 This is one of the flow charts of a method for associating a Diameter signaling message session provided in an embodiment of the present application;
[0021] Figure 2 This is a second flow chart of a method for associating a Diameter signaling message session provided in an embodiment of the present application;
[0022] Figure 3 It is a structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0023] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0024] The following terms are used in this document.
[0025] Diameter protocol: A network protocol based on TCP or SCTP transmission, widely used in 4G / 5G core networks. It is used for control plane signaling interactions such as authentication, authorization, policy control, and billing, and has an extensible AVP field structure.
[0026] Diameter signaling messages: Control signaling messages constructed according to the Diameter protocol. They contain standard header information and multiple attribute-value pairs (AVP) fields. They are used to transmit user access, authentication, policy, and other information between network nodes.
[0027] AVP field: A data unit used to carry specific parameter information in the Diameter protocol. Each AVP contains attribute code, type, length, and value content, and is used to transmit various types of data such as user identification, billing rules, and quality of service.
[0028] Deep Packet Inspection (DPI) is a content-based network traffic analysis technology. Unlike traditional shallow inspection methods that rely solely on packet header information such as IP addresses, ports, and protocols, DPI can deeply analyze packet content to identify specific characteristics such as application types, user identities, and business rules. In mobile communications core networks, DPI technology is often used to identify user data flows and control signaling, enabling policy control, user behavior analysis, billing identification, and network security management.
[0029] First embodiment
[0030] The first embodiment of the present application relates to a method for associating a session of Diameter signaling information. Figure 1 、 Figure 2 As shown, the method may include the following steps:
[0031] Step S1: Receive a Diameter signaling message in a signaling interaction process.
[0032] Specifically, regarding step S1, the signaling interaction process refers to the control signaling exchange process between different network nodes in the mobile communications core network based on the Diameter protocol. This process includes protocol interactions in multiple stages, such as user access authentication, policy control, billing information transmission, and service session management, and is typically manifested as the continuous transmission of request and response message pairs. In this application, the signaling interaction process primarily refers to the control message exchange process transmitted by the Diameter protocol on interfaces such as GX, S6A, and RX.
[0033] Step S2: Parse the header of the Diameter signaling message and extract the interface identification information and session identification information.
[0034] Specifically, regarding step S2, the system uses the Diameter protocol stack to perform structured parsing of the signaling message header. The Application-Id field identifies the interface identifier, while the Session-Id field extracts the session identifier. Based on the Application-Id value, the specific interface type (e.g., GX, S6A, RX, etc.) to which the message belongs is mapped. The Application-Id field is used in the Diameter protocol to identify the interface or service application to which the message belongs; the Session-Id field is a unique identifier in a Diameter message that identifies a complete signaling interaction.
[0035] Step S3: Determine whether the Diameter signaling message contains user unique identification information.
[0036] It's important to note that a unique user identifier is a prerequisite for information extraction and session attribution. All types of interface data must be successfully associated with the process before they can be correctly parsed and attributed to the user context. In other words, in multiple Diameter interface scenarios, user-related session information fields are distributed across different signaling types and interfaces, and the parsing, attribution, and use of these fields all rely on the presence of unique user identifier information and successful process association.
[0037] Specifically, in step S3, user unique identification information refers to field information that uniquely identifies a terminal user in a mobile communication network. This information is typically carried in specific AVP fields in Diameter protocol messages and includes, but is not limited to, the following three types of identifiers: IMSI (International Mobile Subscriber Identity), MSISDN (Mobile Phone Number), and IMEI (Mobile Equipment Identity).
[0038] Step S4: If the user unique identification information is included, the user unique identification information is extracted, and a mapping relationship pointing to the user unique identification information is established using the combination of the interface identification information and the session identification information as a keyword.
[0039] Specifically, in step S4, if the user's unique identification information is successfully identified, the system constructs and writes a session mapping using the combination of Application-Id and Session-Id as the composite key and the user's unique identifier as the value. This mapping table can be implemented using a linked hash table or a balanced binary search tree, supporting fast search and updates.
[0040] Step S5: If the user unique identification information is not included, based on the interface identification information and session identification information carried by the current Diameter signaling message, the corresponding user unique identification information is searched in the mapping relationship, and user-related data information is extracted from the Diameter signaling message according to the user unique identification information, and written into the corresponding user context.
[0041] Specifically, regarding step S5, if the current Diameter signaling message does not contain a user unique identifier field, the system performs a reverse lookup based on the previously established mapping relationship, using the interface identifier and session identifier in the current Diameter message as a key to obtain the corresponding user unique identifier information. The system then extracts the user-related service fields from the message based on the user unique identifier information and writes them into the corresponding user context using the user unique identifier information as an index.
[0042] User context refers to a structured state data set maintained in the system with the user's unique identification information as the index. It contains the user's business status, policy configuration, session history, access parameters, etc. under each interface, and is used to achieve cross-interface state fusion and behavior tracking.
[0043] It is not difficult to find that compared with related technologies, the solution provided in the embodiment of this application effectively improves the identification integrity and user attribution accuracy of Diameter messages in asynchronous interaction scenarios by establishing a joint mapping relationship between interface identifiers and session identifiers, and implementing identity reverse lookup and message completion when user identifier information is missing. This solution ensures the continuous extraction and aggregation of user-related session information while the user is online, significantly enhancing the DPI system's ability to fully perceive user status and determine behavioral consistency in a multi-interface, multi-process environment, and solving the problems of session identification fragmentation and behavioral disconnection caused by the missing user identifier field in the existing technology.
[0044] Second embodiment
[0045] The second embodiment of the present application relates to a method for associating Diameter signaling messages with a session. The second embodiment is an improvement on the first embodiment. Specifically, the second embodiment provides a specific implementation for extracting interface identification information and session identification information from Diameter signaling messages. Specifically, step S2 may further include the following steps:
[0046] Step S201: performing byte alignment parsing on the Diameter message according to the field structure in the protocol specification, extracting the value of the Application-Id field as interface identification information, and determining the interface type to which the Diameter message belongs based on the interface identification information according to a predefined interface type mapping table;
[0047] Step S202: Load the corresponding field parsing template according to the interface type, locate the Session-Id field under the field parsing template and extract the corresponding value as the session identification information;
[0048] Among them, the field parsing template is pre-configured according to the field arrangement rules of different interfaces, and supports the addition of interfaces and field adaptation updates through dynamic plug-ins.
[0049] For example, a received Diameter signaling message is parsed for byte alignment. The Diameter message header fields are first located and, according to the Diameter protocol specification, the Application-Id field, contained within the first 20 bytes, is extracted. This field is a 4-byte unsigned integer representing the application interface type to which the message is adapted. The system then performs a lookup and match against a preset interface type mapping table the value of the Application-Id field.
[0050] Based on the interface type identified in step S201, the AVP field parsing template corresponding to that interface is loaded from the field template management module. This template may include definition information such as field order, field name, encoding method, and nested structure. Within the loaded field parsing template, the system locates the Session-Id field according to the configuration rules and reads the corresponding field value (typically a variable-length string) from that location to extract the session identification information for the message. For example, in the GX interface template, the Session-Id field is the first AVP field; in the RX interface template, the Session-Id field may be located in the third or fourth position in the AVP list.
[0051] This field parsing template supports extension in the form of plug-ins. The system can add support for new interfaces or vendor-specific field structures through dynamic loading at runtime, thereby adapting to the needs of new interfaces, new fields, and structural changes that continue to emerge in the Diameter protocol during network evolution.
[0052] It's easy to see that the solution provided by the embodiments of this application, through the introduction of an interface type mapping table and field parsing templates, enables the automatic extraction and structured recognition of interface identification information and session identification information in Diameter signaling messages. This solution no longer relies on hard-coded parsing of fixed interface field structures. Instead, through pre-configured template files and a dynamic plug-in mechanism, it achieves decoupled adaptation for different Diameter interface types, thereby supporting highly scalable protocol parsing in multi-interface environments.
[0053] Third embodiment
[0054] The third embodiment of the present application relates to a method for associating a session with Diameter signaling information. The third embodiment is an improvement on the first embodiment. Specifically, the improvement is that: in the third embodiment of the present application, a specific implementation method for identifying a user's unique identification information is provided. That is, step S3 may further include the following steps:
[0055] Step S301: Parse multiple AVP fields carried in the Diameter signaling message, and prioritize matching whether the field name is any one of User-Name, Public-Identity, or Subscription-Id;
[0056] Step S302: If there is a matching field, obtain the corresponding field value and determine the user unique identification information that complies with the preset user unique identification format specification;
[0057] Step S303: If no matching field exists or the extraction fails, regular expression-based content pattern recognition is performed on the field values of all AVP fields in the Diameter signaling message to match whether there are field values that comply with the user unique identifier format specification, and to identify field values that embed the user unique identifier information in the form of a URI, and extract the user unique identifier information from them.
[0058] For example, the system first traverses and parses the AVP field list in the Diameter signaling message, and preferentially determines whether there is a field named User-Name, Public-Identity, or Subscription-Id. The User-Name field usually carries the IMSI directly. The Public-Identity field usually carries the IMSI or MSISDN in the form of a URI, and the user name segment or phone number segment is extracted through the URI parsing rules to identify the IMSI or MSISDN. Subscription-Id is a structured Diameter field used to identify the user identity, which contains two subfields: Subscription-Id-Type and Subscription-Id-Data. Subscription-Id-Type is used to indicate the type of identification, such as IMSI, MSISDN, or IMEI, while Subscription-Id-Data stores the specific user unique identification value. When parsing this field, the system can decide whether to extract and use it as the user's unique identification information by matching the value of Subscription-Id-Type. The field name can be matched and identified through the Diameter AVP dictionary table.
[0059] If the user's unique identifier cannot be identified from the standard fields in steps S301 and S302, the system performs a content matching operation on the field values of all AVP fields carried in the current Diameter signaling message. Using multiple pre-set regular expression rules to account for the format differences between different types of user identifiers (such as IMSI, MSISDN, and IMEI), the system performs content pattern matching on the field values of all AVP fields. The system then performs pattern matching on the values in each AVP field. If a field value fully matches any of the regular expression rules, it is preliminarily determined to be the user's unique identifier and the field value is used as the identification result.
[0060] Furthermore, in some embodiments, the step of obtaining the corresponding field value and determining the user unique identification information that complies with the preset user unique identification format specification, that is, step S302, may include the following steps:
[0061] If the field value itself is the user's unique identification information, the field value is directly extracted;
[0062] If the field value is in URI format or a field type containing a nested structure, the field value is further formatted and deconstructed according to the preset field parsing rules, and the identification field or field value fragment that conforms to the user unique identification specification is extracted as the user unique identification information.
[0063] For example, if the extracted field value itself is a typical user identification field format, such as a 15-digit IMSI, an 11-digit MSISDN, or a 16-digit IMEI, and the field value meets the preset format specifications, such as IMSI starts with 460 and contains only numeric characters, the system can directly use the field value as the user's unique identification information without further parsing.
[0064] If the field value is in a structured format, such as a nested identifier in the form of "SIP URI" or "TEL URI", or a structured AVP field containing multiple subfields (such as Subscription-Id), the format deconstruction operation can be performed according to the preset field parsing rules. For "SIP URI" format field values, such as 'sip:460011234567890@ims.mnc001.mcc460.3gppnetwork.org', the system can extract '460011234567890' from the ":" and "@" as the IMSI. For "TEL URI" format field values, such as 'tel:+8613812345678', the system can extract '8613812345678' as the MSISDN. For structured fields such as Subscription-Id, the system can determine whether it is IMSI, MSISDN, or IMEI based on its Subscription-Id-Type subfield, and extract the specific value from Subscription-Id-Data as the user's unique identifier.
[0065] It is not difficult to find that in the solution provided by the embodiment of the present application, through the combined recognition mechanism of "field name priority matching, field value format judgment, regular expression pattern recognition, and URI structure parsing", the system can not only directly identify user identification information from standard fields, but also identify IMSI, MSISDN, IMEI and other user unique identification information based on the content characteristics of the field value when the field is missing, the field name is not standardized, or the manufacturer extends the field structure. This significantly enhances the DPI system's ability to identify user identification, especially in the face of non-standard signaling structures and multi-vendor interface compatibility scenarios. It still has a high identification extraction accuracy rate, and improves the system's recognition fault tolerance and adaptability under field anomalies or non-standard signaling structures.
[0066] It should be noted that the third embodiment of the present application may also be an improvement based on any one or more of the first to second embodiments.
[0067] Fourth embodiment
[0068] The fourth embodiment of the present application relates to a method for associating Diameter signaling sessions. The fourth embodiment is an improvement on the first embodiment. Specifically, the fourth embodiment provides a specific implementation for mapping and managing user unique identifiers. Specifically, step S4 may further include the following steps:
[0069] Construct a mapping structure with the combination of interface identification information and session identification information as the key and the user's unique identification information as the value, and write the key and value pairs into the mapping structure. The mapping structure is implemented using a chained hash storage structure or a balanced binary search tree structure to support fast insertion, update, and retrieval operations of key-value pairs in a high-concurrency signaling processing environment.
[0070] For example, after successfully extracting the interface identifier (Application-Id) and session identifier (Session-Id), as well as the corresponding user unique identifier (such as IMSI, MSISDN, or IMEI), the system writes a key-value mapping record using the combination of the interface identifier and session identifier as a composite key and the user unique identifier as the value. For example, the interface identifier and session identifier are concatenated using a connector to form a unique string, which serves as the key. The composite key is hashed using a hash function and mapped to an index in the bucket array. If multiple keys are mapped to the same bucket, the system constructs a linked list under that bucket to connect multiple key-value pair nodes, forming a chain structure that supports sequential search and dynamic expansion in the event of key conflicts. When performing insert, search, or update operations, the system quickly locates the bucket based on the hash mapping result and accurately matches the key-value pair nodes in the linked list, effectively managing the mapping between session identifiers and user identifiers. The hash storage structure offers fast lookup times and is suitable for real-time scenarios with frequent messages and high traffic.
[0071] In some embodiments, the mapping structure can also be implemented based on a balanced binary search tree (such as a red-black tree or an AVL tree), encoding the composite key into an ordered numerical value or string and constructing it as a tree node, which is stored in order according to the size of the key. To perform search and update operations, recursively traverse downward from the root node in the tree structure, and enter the left subtree or right subtree in turn until a matching node is found or the search fails. The time complexity is O (log n). Compared with the hash storage structure, the balanced binary search tree has better performance stability and business expansion capabilities in scenarios where key values are unevenly distributed or sorted traversal is required. It is suitable for use in high-reliability business environments that require ordered retrieval, key value interval positioning, or strategic mapping updates.
[0072] It is not difficult to find that in the solution provided in the embodiment of the present application, by designing an efficient data structure to construct a mapping relationship between interface identification information and session identification information to user unique identification information, the system significantly improves the user identification ability and session attribution accuracy in scenarios of multi-session concurrency, field missing and asynchronous messaging.
[0073] If the Diameter signaling message contains user unique identification information, before executing step S4, the system further extracts field information related to the user status from the current message, such as user IP, access APN, AMBR, quality of service parameters, policy control information, user location information, etc., and writes it into the user context structure corresponding to the user unique identification information to achieve context aggregation.
[0074] It should be noted that the fourth embodiment of the present application may also be an improvement based on any one or more of the first to third embodiments.
[0075] Fifth embodiment
[0076] The fifth embodiment of the present application relates to a method for associating Diameter signaling messages. This fifth embodiment is an improvement on the first embodiment, specifically providing a specific implementation method for user information completion and context attribution. Specifically, in step S5, extracting user-related data from Diameter signaling messages based on the user's unique identification information and attributing it to the corresponding user context may further include the following steps:
[0077] Step S501: Based on the user's unique identification information, a corresponding user context structure is retrieved or created in the user context management module, and user-related data information is extracted from the parsed result of the current Diameter signaling message. The data information includes the user's unique identification information, user IP address, access point maximum bandwidth, user location information, access APN name, quality of service parameters, and policy control information.
[0078] Step S502: writing data information into the user context structure to ensure the integrity of the user session information extracted by the DPI system while the user is online.
[0079] Exemplarily, after completing the field parsing and user unique identification information completion of the Diameter signaling message, the system further queries the user context management module based on the user unique identification information whether a user context structure with the user unique identification as the index already exists. If so, the existing context structure is loaded as the data writing target; if not, a new empty user context structure is created and registered in the context index table.
[0080] The system extracts fields related to user status from the parsed results of the current message, including but not limited to: user unique identification information (such as IMSI, MSISDN, IMEI); user IP address (such as the UE IP assigned in the PDU session); access point maximum bandwidth (AMBR); access point access point name (such as ims, internet); quality of service parameters (such as QCI, 5QI, ARP); policy control information (such as Rule-Identifier, Flow-Description); and user location information (such as TAC, ECGI, or S1-U identifier). This user-related data may come from Diameter signaling messages on multiple different interfaces (such as GX, RX, S6A, etc.).
[0081] For example, in the S6A interface, user-related data includes the user's authentication vector (Authentication Vector) and subscription data (Subscription Data), which must be bound to the IMSI. The user subscription data provides the maximum bandwidth of the access point. In the CX interface, the user's registration status, public identity, service routing information, etc. can be obtained, and the user must be identified in conjunction with the Public-Identity. In the RX interface, application layer policy control information (such as service quality expectations and media authorization information) can be extracted. In the GX interface, user location information, user IP address, access APN name, billing policy, PCC rule identifier, and other information are carried. All of this information requires the successful acquisition of the user's unique identification information (IMSI, MSISDN, IMEI, etc.) and the establishment of the corresponding context mapping relationship before it can be effectively extracted and written into the user context structure.
[0082] The system writes this data into the corresponding field slots of the user context structure according to the field type, forming a snapshot of the user's online state. This context structure is used by the system in subsequent downstream modules such as DPI processing, policy determination, user behavior log generation, and abnormal behavior identification, ensuring that the user's online behavior identification chain is complete, stable, and traceable.
[0083] It's easy to see that the solution provided by the embodiments of this application, by extracting and attributing user-related session parameters to the user context after completing the user's unique identification information, improves user identification continuity and context integrity in asynchronous signaling structures and field-missing scenarios, effectively supporting the DPI system's continuous perception of user behavior. Furthermore, this approach supports the decoupled transmission of identification results and user context, enhancing data compatibility and processing flexibility between system modules.
[0084] Furthermore, in step S5, before the step of extracting user-related data information from the Diameter signaling message according to the user unique identification information and attributing it to the corresponding user context, the following steps are further included:
[0085] Decode the protocol fields and extract the field structure of the Diameter signaling message to obtain the corresponding intermediate data structure;
[0086] An independent user identification field node is set in the intermediate data structure, and the queried user unique identification information is written as a value into the user identification field node. The intermediate data structure is a data exchange object between Diameter message parsing and context attribution, and is used to transmit the completed user unique identification information without modifying the original Diameter signaling message.
[0087] It's important to note that Diameter signaling is a core control plane protocol for carriers. Message content is signature-verified, time-sensitive, and communicated across multiple network elements (MME, PCRF, HSS, etc.). Tampering with it could compromise the integrity of the signaling link or trigger abnormal handling. Therefore, DPI systems can only construct intermediate structures or extended fields internally to convey identification results and enhance context; they cannot directly modify the original Diameter messages.
[0088] For example, upon receiving a Diameter signaling message to be completed, the system first decodes it at the protocol field level. This process includes parsing the Diameter signaling message header fields, sequentially scanning and identifying the structure of AVP fields, and recursively parsing nested structures. After parsing, the system converts the original message into an intermediate data structure that represents the key-value pairs of each message field in a tree or dictionary format, facilitating subsequent field insertion, reorganization, and tagging.
[0089] After retrieving the user's unique identifier, the system creates a user identifier field node in the intermediate data structure as a logical field slot. This field is used to complete the user identifier if the original Diameter signaling message does not carry the field. This field exists only in the intermediate data structure and is not written back to the original message at the network layer to ensure network signaling transparency.
[0090] Through the intermediate state structure design and non-intrusive field completion mechanism provided in this embodiment, the system achieves enhanced recognition of the user's unique identifier without modifying the original Diameter signaling message, improving the system's fault tolerance for asynchronous processes and field missing scenarios.
[0091] It should be noted that the fifth embodiment of the present application may also be an improvement based on any one or more of the first to fourth embodiments.
[0092] The step division of the above various methods is only for the purpose of clear description. During implementation, they can be combined into one step or some steps can be split and decomposed into multiple steps. As long as they include the same logical relationship, they are all within the scope of protection of this application; adding insignificant modifications or introducing insignificant designs to the algorithm or process without changing the core design of the algorithm and process are all within the scope of protection of this application.
[0093] In addition, some embodiments of the present application further provide an electronic device. The electronic device may be various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, etc. The electronic device may also be various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices.
[0094] The electronic device includes: one or more processors; and a memory storing computer program instructions, wherein when the computer program instructions are executed, the processor executes a method for associating a session of Diameter signaling information as provided in any one or more of the above embodiments. Figure 3 An exemplary structural diagram of the electronic device is disclosed. The electronic device includes: one or more processors 1101, a memory 1102, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses and can be installed on a common motherboard or installed in other ways as needed. The processor can process instructions executed within the electronic device, including instructions stored in or on the memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some other embodiments, if necessary, multiple processors and / or multiple buses can be used with multiple memories and multiple memories. Similarly, multiple electronic devices can be connected, with each device providing some of the necessary operations. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described and / or required herein.
[0095] The electronic device may further include: an input device 1103 and an output device 1104. The processor 1101, the memory 1102, the input device 1103 and the output device 1104 may be connected via a bus or other means. Figure 3 The bus connection is taken as an example.
[0096] Input device 1103 can receive input digital or character information and generate key signal input related to user settings and function control of the electronic device. Examples include a touch screen, keypad, mouse, trackpad, touchpad, pointing stick, one or more mouse buttons, trackball, joystick, and other input devices. Output device 1104 may include a display device, auxiliary lighting devices (e.g., LEDs), and tactile feedback devices (e.g., vibration motors). The display device may include, but is not limited to, a liquid crystal display, a light emitting diode display, and a plasma display. In some embodiments, the display device may be a touch screen.
[0097] To provide user interaction, the electronic device may be a computer. The computer includes a display device (e.g., a cathode ray tube or LCD monitor) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse) through which the user can provide input to the computer. Other types of devices may also be used to provide user interaction; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback), and input from the user may be received in any form (e.g., voice input or tactile input).
[0098] In embodiments of the present application, a computer-readable medium stores a computer program / instructions. When executed by a processor, the computer program / instructions implement a method for associating Diameter signaling information sessions provided in any one or more of the aforementioned embodiments. The computer-readable medium may be included in the electronic device described in the aforementioned embodiments, or may exist independently and not incorporated into the device. The computer-readable medium carries one or more computer-readable instructions.
[0099] The memory 1102 can be used as a non-transitory computer-readable storage medium to store non-transitory software programs, non-transitory computer executable programs, and modules. The processor 1101 executes the non-transitory software programs, instructions, and modules stored in the memory 1102 to execute various functional applications and data processing of the server, thereby implementing the program instructions / modules corresponding to the method provided in any one or more of the above embodiments of the present application.
[0100] The memory 1102 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and applications required for at least one function; the data storage area may store data created based on the use of the electronic device, etc. In addition, the memory 1102 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory 1102 may optionally include a memory remotely located relative to the processor 1101, and these remote memories may be connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0101] It should be noted that the computer-readable medium described in this application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above. Computer-readable media may be, for example, but not limited to: electrical, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or components, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory, a read-only memory, an erasable programmable read-only memory, an optical fiber, a portable compact disk read-only memory, an optical storage device, a magnetic storage device, or any suitable combination of the above. In this application, a computer-readable medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or device.
[0102] Computer-readable media includes both permanent and non-permanent, removable and non-removable media, and can be implemented using any method or technology for information storage. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory, static random access memory, dynamic random access memory, other types of random access memory, read-only memory, electrically erasable programmable read-only memory, flash memory or other memory technology, compact discs, digital versatile discs or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
[0103] Computer program code for performing the operations of the present application may be written in one or more programming languages, or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as C or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network or a wide area network, or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0104] In the above embodiments, all or part of the steps or functions of the present invention may be implemented using software, hardware, firmware, or any combination thereof. For example, implementation may be achieved using a dedicated integrated circuit, a general-purpose computer, or any other similar hardware device. In some embodiments, the software program of the present application may be executed by a processor to implement the above steps or functions. Similarly, the software program of the present application (including related data structures) may be stored in a computer-readable recording medium, such as a RAM memory, a magnetic or optical drive, a floppy disk, or the like. In addition, some steps or functions of the present application may be implemented using hardware, for example, as a circuit that cooperates with a processor to perform the various steps or functions.
[0105] The computer program product provided in the embodiments of the present application includes one or more computer programs / instructions that, when executed by a processor, fully or partially produce the processes or functions described in accordance with the embodiments of the present application. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive).
[0106] The flowcharts or block diagrams in the accompanying drawings illustrate the possible architectures, functions and operations of the devices, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of code, and the module, program segment or part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, as well as the combination of boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-specific system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0107] The above descriptions are merely specific embodiments of the present application, but the scope of protection of the present application is not limited thereto. Any person skilled in the art may easily propose variations or substitutions within the technical scope disclosed in the present application, and such variations or substitutions shall be encompassed within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be subject to the scope of protection of the claims, and the above descriptions shall be regarded as exemplary and non-limiting.
Claims
1. A method for associating a session of Diameter signaling information, characterized in that: include: Receive Diameter signaling messages during the signaling interaction process; Parsing the header of the Diameter signaling message to extract interface identification information and session identification information; Determining whether the Diameter signaling message contains user unique identification information; If the user unique identification information is included, extract the user unique identification information, and use the combination of the interface identification information and the session identification information as a keyword to establish a mapping relationship pointing to the user unique identification information; If the user unique identification information is not included, the corresponding user unique identification information is searched in the mapping relationship based on the interface identification information and session identification information carried by the current Diameter signaling message. User-related data information is extracted from the Diameter signaling message according to the user unique identification information and written into the corresponding user context.
2. The method for associating a session of Diameter signaling information according to claim 1, wherein: The step of parsing the header of the Diameter signaling message and extracting the interface identification information and the session identification information therefrom comprises: Performing byte alignment parsing on the Diameter signaling message according to the field structure in the protocol specification, extracting the value of the Application-Id field as interface identification information, and determining the interface type to which the Diameter signaling message belongs based on the interface identification information according to a predefined interface type mapping table; Loading a corresponding field parsing template according to the interface type, locating the Session-Id field under the field parsing template and extracting the corresponding value as session identification information; The field parsing template is pre-configured according to the field arrangement rules of different interfaces, and supports adding interfaces and adapting and updating fields through dynamic plug-ins.
3. The method for associating a session of Diameter signaling information according to claim 1, wherein: The step of determining whether the Diameter signaling message contains user unique identification information includes: Parsing multiple AVP fields carried in the Diameter signaling message, and preferentially matching whether the field name is any one of User-Name, Public-Identity, or Subscription-Id; If there is a matching field, the corresponding field value is obtained and the user unique identification information that complies with the preset user unique identification format specification is determined therefrom; If no matching field exists or the extraction fails, regular expression-based content pattern recognition is performed on the field values of all AVP fields in the Diameter signaling message to match whether there are field values that comply with the user unique identifier format specification, and to identify field values that embed the user unique identifier information in the form of a URI, and extract the user unique identifier information from them.
4. The method for associating a session of Diameter signaling information according to claim 3, wherein: The steps of obtaining corresponding field values and determining user unique identification information that complies with a preset user unique identification format specification include: If the field value itself is the user's unique identification information, then directly extract the field value; If the field value is in URI format or a field type containing a nested structure, the field value is further formatted and deconstructed according to the preset field parsing rules, and an identification field or field value fragment that conforms to the user's unique identification specification is extracted as the user's unique identification information.
5. The method for associating a session of Diameter signaling information according to claim 1, wherein: The step of establishing a mapping relationship pointing to the user unique identification information using the combination of the interface identification information and the session identification information as a keyword includes: Construct a mapping structure with the combination of the interface identification information and the session identification information as the key and the user unique identification information as the value, and write the key and value pairs into the mapping structure, wherein the mapping structure is implemented using a chained hash storage structure or a balanced binary search tree structure to support fast insertion, update, and retrieval operations of key-value pairs in a high-concurrency signaling processing environment.
6. The method for associating a session of Diameter signaling information according to claim 1, wherein: The step of extracting user-related data information from the Diameter signaling message according to the user unique identification information and writing the information into the corresponding user context includes: Retrieving or creating a corresponding user context structure in a user context management module based on the user unique identification information, and extracting user-related data information from the parsed result of the current Diameter signaling message, the data information including the user unique identification information, user IP address, access point maximum bandwidth, user location information, access APN name, quality of service parameters, and policy control information; The data information is written into the user context structure to ensure the integrity of the user session information extracted by the DPI system while the user is online.
7. The method for associating a session of Diameter signaling information according to claim 1 or 6, wherein: Before the step of extracting user-related data information from the Diameter signaling message according to the user unique identification information and writing it into the corresponding user context, the method further includes: Performing protocol field decoding and field structure extraction on the Diameter signaling message to obtain a corresponding intermediate data structure; An independent user identification field node is set in the intermediate data structure, and the queried user unique identification information is written as a value into the user identification field node. The intermediate data structure is a data exchange object between Diameter signaling message parsing and context attribution, and is used to transmit the completed user unique identification information without modifying the original Diameter signaling message.
8. An electronic device, characterized in that: The electronic device comprises: One or more processors; and a memory storing computer program instructions, wherein when the computer program instructions are executed, the processor performs the session association method of Diameter signaling information according to any one of claims 1 to 7.
9. A computer-readable storage medium having a computer program and / or instructions stored thereon, characterized in that: When the computer program and / or instruction is executed by a processor, the method for associating a session of Diameter signaling information according to any one of claims 1 to 7 is implemented.
10. A computer program product comprising a computer program and / or instructions, characterized in that When the computer program and / or instruction is executed by a processor, the method for associating a session of Diameter signaling information according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Session association method in policy and charging control (PCC) of code division multiple access (CDMA) network
CN102238690A
Methods, systems and computer readable media for dynamically learning Diameter binding information
CN103477662A