ES2423429T3 - Método y producto de programa informático para clasificar registros de datos en un sistema mediador de una red de telecomunicaciones - Google Patents

Método y producto de programa informático para clasificar registros de datos en un sistema mediador de una red de telecomunicaciones Download PDF

Info

Publication number
ES2423429T3
ES2423429T3 ES04742168T ES04742168T ES2423429T3 ES 2423429 T3 ES2423429 T3 ES 2423429T3 ES 04742168 T ES04742168 T ES 04742168T ES 04742168 T ES04742168 T ES 04742168T ES 2423429 T3 ES2423429 T3 ES 2423429T3
Authority
ES
Spain
Prior art keywords
field
service
read
fields
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES04742168T
Other languages
English (en)
Inventor
Eero Eskelinen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Comptel Corp
Original Assignee
Comptel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Comptel Corp filed Critical Comptel Corp
Application granted granted Critical
Publication of ES2423429T3 publication Critical patent/ES2423429T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/41Billing record details, i.e. parameters, identifiers, structure of call data record [CDR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/43Billing software details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/01Details of billing arrangements
    • H04M2215/0164Billing record, e.g. Call Data Record [CDR], Toll Ticket[TT], Automatic Message Accounting [AMA], Call Line Identifier [CLI], details, i.e. parameters, identifiers, structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Un método para clasificar los registros en un sistema mediador de una red de telecomunicaciones por mediode un programa informático, en cuyo método - se reciben registros de descripción de eventos de la red de telecomunicaciones, los registros contienenvarios campos, que contienen valores, - de cada uno de los registros se leen (1002) los valores contenidos en por lo menos dos camposespecificados, - se identifica por lo menos un campo leído, - los registros se asignan a clases sobre la base de una estructura de clasificación, y que se caracterizaporque para cada registro: - en la estructura de clasificación se busca (1001, 1004, 1007) un conjunto de clases adecuadas para cada unode los campos leídos, que corresponde al valor leído en el campo, en donde - se selecciona (1001) una estructura de clasificación ordenada específicamente por campo, correspondienteal campo identificado, - en la estructura de clasificación ordenada específicamente por campo se busca (1004) un valor de referencia de acuerdo con el valor contenido en el campo, y - en cada una de las estructuras de clasificación seleccionadas ordenadas específicamente por campo se lee(1007) por lo menos una clase, de acuerdo con las condiciones de la estructura de clasificación,correspondiente al valor de referencia, para formar un conjunto de clases adecuadas, - se forma un conjunto de intersecciones de los conjuntos de clases adecuadas, el conjunto de intersecciones incluye más de una clase, cada una tiene una precisión definida sobre la base del número de campos utilizadosen la sentencia condicional de la clase, y - la clase, a la que se asigna (1112) el registro, se selecciona del conjunto de intersecciones mediante laselección de la clase con la mayor precisión, de modo que el registro se asigna (1112) a la clase leída desde laestructura de clasificación ordenada específicamente por campo.

Description

Método y producto de programa informático para clasificar registros de datos en un sistema mediador de una red de telecomunicaciones
La presente invención está relacionada con un método, según el preámbulo de la reivindicación 1, para clasificar registros. La invención también está relacionada con un correspondiente sistema mediador y un producto de programa informático.
Este tipo de métodos se utilizan, por ejemplo, para seleccionar la calificación de datos de eventos de redes telefónicas u otras redes de telecomunicaciones, transmitidos a través de una conexión de telecomunicaciones. En este caso, el término conexión de telecomunicaciones se refiere, por ejemplo, a una llamada fija tradicional, comunicaciones de datos en movilidad (GSM, GPRS, SMS, MMS, WAP, WLAN, 3G, etc.) y conexiones de comunicaciones de datos de banda ancha (IP NGN, etc.).
En los métodos conocidos, se reciben eventos, tiques y, en general, registros tales como CDR, Call Detail Record (registro de detalles de llamada); ER, Event Record (registro de eventos); y UDR, Usage Data Record (registro de datos de utilización); IDPR, Internet Protocol Detail Record (registro de detalles de protocolo de internet), y registros similares de eventos, que se forman sobre la base de, por ejemplo, propiedades de la conexión de telecomunicaciones. Los registros se pueden formar como respuesta a las propiedades técnicas de las conexiones de telecomunicaciones, tales como la duración, la hora, el origen o el destino, pero también o en lugar de ellos las propiedades de los datos transmitidos a través de conexiones de telecomunicaciones también pueden actuar como el iniciador. En estas soluciones, los registros se seleccionan para clases de servicio de acuerdo con una estructura lógica de clasificación, sobre la base de sus campos que se han establecido como decisivos. Las clases de servicio se especifican sobre la base de las condiciones relativas a las propiedades de las conexiones de telecomunicaciones que se pueden leer en los registros.
En los métodos acordes con la situación de la técnica, tales como estructuras de clasificación lógica se utilizan estructuras de datos, tales como las estructuras de memoria principal que se exploran utilizando algoritmos de tipo de acceso secuencial, y que se basan en tres listas enlazadas. Estas listas enlazadas se recorren hasta que en alguna lista se encuentra la ID de servicio, cuyas condiciones enlazadas corresponden los valores de los campos del registro. Las condiciones de identificación de los servicios se registran en las listas enlazadas, de la manera que se muestra en la Figura 2. En ella, la ID de servicio se registra en la Lista de servicios, el nombre del campo en la lista de campos, y el operador de referencia y valor de referencia en la lista de reglas. De este modo, se obtiene una estructura de clasificación. Además, en cada campo se debe registrar información relativa a qué servicio pertenece el campo, mientras que en cada condición se registra información relativa a qué campo pertenece la condición. Los servicios, los campos y las condiciones están conectados de este modo entre sí.
Además, en los métodos según la situación de la técnica, se utilizan algoritmos de búsqueda como los siguientes:
1.
Leer el primer servicio de la lista ‘Servicios’, según la Figura 2.
2.
Leer el primer campo relacionado con el servicio y la primera condición relacionada con el campo.
3.
Comparar el valor del campo en el registro con la primera condición, y comprobar si la condición es verdadera. Si no es así, buscar la siguiente condición relacionada con el campo.
4.
Si todas las condiciones relacionadas con el campo son falsas, leer el siguiente servicio de la lista ‘Servicios’. Si es necesario, leer nuevos servicios de la lista una y otra vez.
5.
Si la condición relacionada con el campo es verdadera, leer el siguiente campo relacionado con el servicio de la lista ‘Campos’ y empezar a examinar las condiciones relacionadas con el campo.
6.
Una vez que se encuentra una clase de servicio, cuyas condiciones de cada campo son verdaderas, se he encontrado la clase de servicio correspondiente al registro.
La solución, según la situación de la técnica se interioriza fácilmente. En la práctica, no es necesario mejorar la solución, que se ha mantenido prácticamente inalterada durante muchos años. Las prestaciones de la solución son suficientes, si el número de servicios a identificar son como mucho unos pocos centenares. Al mismo tiempo, la longitud de las listas enlazadas sigue siendo corta.
En la situación de la técnica aparecen inconvenientes en las situaciones en las que los precios de las llamadas y/u otros bienes se calculan sobre la base de valores de registros. Una vez que el número de servicios aumenta a miles, las prestaciones de la solución caen muy rápidamente y la identificación de servicios forma un cuello de botella en las prestaciones. Hoy en día, los sistemas pequeños deben ser capaces de manejar unos pocos miles de servicios que requieren una identificación, de modo que la velocidad de la solución conocida es insuficiente.
Se utiliza un método para seleccionar una calificación, ya que antes de calcular un precio definido por un registro individual, en primer lugar es necesario identificar y seleccionar la clase de servicio a la que pertenece la llamada u otro tipo de conexión de telecomunicaciones que inicia la creación del registro. En la identificación, los valores de los campos del registro se comparan con los valores que hay en la estructura lógica del conjunto de parámetros, que se registran en forma de una sentencia condicional. Si numerosos servicios y sus sentencias condicionales se definen en un conjunto de parámetros, se tardará mucho tiempo en identificarlos. Esto ralentiza la selección de la calificación, una vez que el número de clases identificables de servicios se eleva a miles. Sin embargo, esto no limita la utilización de la invención a un número específico.
El documento US-A-6 055 539 describe una clasificación por medio de un clasificador de árbol de decisión.
La invención tiene por objeto crear un método, que puede procesar un gran número de clases de servicio de manera más eficiente. El método según la invención se puede aplicar no sólo a conexiones de telecomunicaciones, sino también para seleccionar la calificación para la prestación de diversos servicios y contenidos. Además, el método según la invención se puede aplicar en todo tipo de entornos de mediación, incluyendo el pago anticipado (prepago), el pago basado en facturación (pospago) y combinaciones de ellos (mediación convergente). En estos entornos, el número de clases de servicio resulta considerable, de modo que en los modelos prácticos de solución acordes con la situación de la técnica no se puede realizar la clasificación en un plazo aceptable. En una escala más amplia, de este modo es posible utilizar la solución según la invención para clasificar, desde un gran número, conjuntos incluso de muy diferentes tipos de registros que son convergentes sobre la base de propiedades específicas, y para realizar operaciones deseadas/necesarias, por ejemplo, calificar, en estos conjuntos. Además, el método, sistema y producto de programa informático según la invención son sumamente adecuados para los sistemas de calificación de múltiples corporaciones que se describen con mayor detalle en la anterior solicitud de patente del solicitante EP 1455291 A1.
La meta de la invención se consigue con las características de la parte de caracterización de la reivindicación 1 y las características correspondientes en un sistema mediador informatizado y un producto de programa informático.
Por medio de la invención es posible reducir de antemano un gran número de clases de servicio en determinados conjuntos, considerablemente un mayor número de ellos también se pueden manejar más rápidamente que utilizando el método antiguo. Esto se implementa con la ayuda de un modelo establecido, que aprovecha los cálculos básicos del álgebra booleana, AND (Y) y OR (O), intersección y unión, y NOT (NO); complemento, NAND (NO-Y) y NOR (NO-O) para los diversos conjuntos de condiciones de búsqueda, categorías de servicios y sentencias condicionales.
Con la ayuda de la invención se obtienen considerables ventajas. Debido a que el método es más eficiente que antes, se utiliza substancialmente menos tiempo para identificar los numerosos servicios y sus sentencias condicionales, de este modo se acelera sustancialmente la selección de calificación. Si el tiempo utilizado para seleccionar la calificación se mantiene en el nivel actual, se puede utilizar un conjunto más amplio de clases de servicios.
En la realización preferida de la invención, la asignación se hace por el hecho de que generalmente sólo se utilizan unos cuantos campos de un registro en la sentencia condicional de un servicio y que los mismos campos se utilizan generalmente en las sentencias condicionales de servicios diferentes. De este modo, las sentencias condicionales difieren entre sí únicamente sobre la base de los valores de referencia de los campos. Cuando se aplica la invención, lo mejor es comenzar en el supuesto de que hay muchos valores de referencia, pero pocos campos de los que se lee un valor. Sin embargo, en una sentencia condicional a veces es necesario utilizar diferentes números de campos de un registro, tal como un registro de llamadas, en cuyo caso debe aplicarse diferente precisión a las sentencias condicionales. Una sentencia condicional se puede utilizar, por ejemplo, para identificar si una llamada es una llamada local, una llamada nacional de larga distancia o una llamada desde el extranjero. En este caso, se utilizarán más campos de registro de llamada para identificar una llamada desde el extranjero que una llamada local, ya que la información necesaria acerca de una llamada desde el extranjero incluye el país al que se llama, el operador que recibió la llamada en el país y el operador que maneja el tráfico entre los países. Esto significa que una sentencia condicional que identifica a una llamada desde el extranjero será generalmente más precisa que una que identifica a una llamada local. Por lo tanto vale la pena tener en cuenta la precisión al aplicar la invención.
Dado que las soluciones conocidas utilizan listas enlazadas en una dirección, es posible una comprobación de velocidad. Cuando se utiliza software de Cuantificación Racional para investigar el funcionamiento de la solución en la práctica, más del 90% de las prestaciones del programa implican comparaciones de cadenas. En soluciones según la invención, por lo tanto, es preferible evitar las comparaciones de cadenas.
Debido a la naturaleza de la invención, sus ventajas también incluyen la independencia de la tecnología, la forma de aplicación y el fabricante de los equipos. De este modo los registros que se están procesando pueden ser, por ejemplo, datos de tipo TAP3 o ASCII, ficheros, bases de datos o formato en línea (online based format). En un formato basado en un archivo, los datos que están siendo procesados, se registran en un archivo. En formato basado en una base de datos, los valores de cada registro se registran primero en una base de datos, el evaluador lee los datos necesarios de la base de datos. En un formato en línea, el evaluador lee los datos en tiempo real, por ejemplo, a través de una conexión de enchufe (socket connection), tan pronto como los registros lleguen a ella.
A continuación, la invención se examina con la ayuda de ejemplos y haciendo referencia a los dibujos acompañantes.
La Figura 1 muestra la estructura de un registro.
La Figura 2 muestra una lista enlazada conocida utilizada como una estructura lógica.
La Figura 3 muestra el principio de una solución de conjunto de servicios según la invención, como operaciones de conjunto.
La Figura 4 muestra la inicialización de una tabla lógica de conjuntos válidos según la invención, sobre la base de un archivo de conjunto de parámetros.
La Figura 5 muestra una estructura de datos según la invención para crear una tabla ‘Campos’, sobre la base de los datos de un archivo de conjunto de parámetros.
La Figura 6 muestra una identificación de servicio según la invención y la creación de tablas de servicios específicos de campo.
La Figura 7 muestra una identificación de servicio según la invención, en la que la ID de servicio utilizada se identifica en una tabla de conjuntos válidos.
La Figura 8 muestra un diagrama de flujo de la inicialización de una Tabla de campos según la invención.
La Figura 9 muestra un diagrama de flujo de la inicialización de una Tabla de conjuntos válidos según la invención.
La Figura 10 muestra un diagrama de flujo de una identificación de servicios según la invención.
La Figura 11 muestra un diagrama de flujo de otra identificación de servicios según la invención.
A continuación se describe un ejemplo de una situación, en la que se necesita una selección de calificación. Más adelante se describen otros modelos de solución. La velocidad de procesamiento se ha calculado para cada una de las soluciones más centrales, cuya estimación le hace posible decidir cuál es la mejor solución a implementar en cada caso. El método según la invención puede aplicarse al procesamiento de formatos diferentes. Los registros pueden ser de diferentes formas y diferentes valores de formato, tales como valores numéricos y simbólicos, se establecen en los campos, cada formato diferente tiene su propia estructura de clasificación, y/o punteros a las estructuras de clasificación.
Clasificación, modelo de precios y su uso
Ejemplo 1: El registro de llamada tiene 10 campos, dos de los cuales se utilizan para identificar los servicios utilizados en la llamada. La duración de la llamada se utiliza para calcular el precio de la llamada. El precio total correspondiente a los servicios utilizados se escribe en el campo Precio total.
Los campos utilizados en la identificación de los servicios son: ASUB - número del que llama y BSUB - número del destinatario Los otros campos son: DURAT - Duración de la llamada y PRICE - Precio total Las condiciones de identificación de los servicios son de la siguiente manera: Servicio A - ASUB = 12345 Y (BSUB = 113 O BSUB = 114) Servicio B - ASUB = 12345 Y BSUB = 112 Servicio C - ASUB = 12345 Los servicios tienen los siguientes precios: Servicio A - El coste del servicio 1,5 €/minuto Servicio B - El coste del servicio 1,2 €/minuto Servicio C - El coste del servicio 0,7 €/minuto
El modelo de precios comprende las condiciones de identificación y los precios de los servicios. Si los valores de los campos del registro son de la siguiente manera: ASUB - 12345, BSUB -112, DURAT - 600 segundos, y PRICE - vacío Las condiciones de identificación del servicio B corresponden a los valores de los campos del registro de la llamada,
en cuyo caso el precio será de 600 * (1,2 / 60) = 12, que se introduce en el registro en el campo PRICE y el registro se mueve al siguiente análisis. Ejemplo 2: Se implementa el algoritmo de búsqueda y la estructura de datos.
El registro de datos registra: La ID de servicio, la fecha inicial de validez, el último día de validez y la sentencia condicional, que comprende varias condiciones independientes.
Se aplican los siguientes requisitos entre las condiciones de la sentencia condicional: Hay un operador AND entre las condiciones relativas a los diferentes campos y un operador OR entre las condiciones del mismo campo.
Las siguientes comparaciones deben estar disponibles en las condiciones de la sentencia condicional: Igual que ( = ), Menor que ( < ) y Mayor que ( > ). También son posibles otras comparaciones, tales como, mayor o igual que ( >= ), menor o igual que ( <= ), No igual a ( != ), intervalo de valores ( a < X < b), como también comparaciones más complejas, tal como una expresión regular y una expresión regular ampliada.
ID de servicio: La ID de servicio une entre sí la sentencia condicional de servicio y los datos de precios. La sentencia condicional comprende varias condiciones, que se utilizan para identificar los servicios utilizados en una llamada que se ha
hecho. Los datos de precios indican qué tipo de calificación se debe aplicar a este servicio. En este ejemplo, los datos de precios no se procesan. Sentencia condicional del servicio: Al inicializar la estructura de datos, las sentencias condicionales se leen del archivo de conjunto de parámetros, en el
que existen de tal modo que la ID de servicio y una condición están en una línea. La sentencia condicional se divide de este modo entre varias líneas. Forma del archivo de conjunto de parámetros:
ID de servicio
Válido desde Válido hasta Campo Operado Valor de ref.
A1
01.01.2002 31.12.2010 ASUB = 123
A1
01.01.2002 31.12.2010 ASUB - 124
A1
01.01.2002 31.12.2010 BSUB = 222
B1
01.01.2002 31.12.2010 ASUB = 456
Esto significa que en la llamada se ha utilizado el Servicio A1, si la siguiente sentencia condicional es verdadera: (ASUB = 123 O ASUB = 124) Y BSUB = 222.
Dado que las sentencias condicionales utilizadas para identificar los servicios no se excluyen entre sí, pero en cambio varias sentencias condicionales pueden corresponder a un servicio, se utiliza el siguiente principio de precisión para identificar el servicio:
La precisión de la sentencia condicional, es decir del servicio, es el número de los campos de nombre diferente que aparecen en la sentencia condicional. La búsqueda se inicia desde el servicio con la mayor precisión. Las sentencias condicionales se disponen en orden sobre la base de la precisión, de mayor a menor. Una vez que se ha encontrado la sentencia condicional correspondiente a los valores de los campos del registro de llamadas, la búsqueda finaliza y se realiza la calificación de acuerdo con el servicio correspondiente a la sentencia condicional. Si no se encuentra una sentencia condicional correspondiente a los valores de los campos del registro de llamada, el registro de llamada es rechazado. Si se encuentran varias sentencias condicionales correspondientes a los valores de los campos del registro de llamadas, todas las cuales tienen la misma precisión, se elige, por ejemplo, el primer servicio en orden alfanumérico y la calificación se realiza de acuerdo a este servicio. En la situación de la técnica se utiliza este principio de precisión y en las realizaciones se pueden aplicar de la invención principios de precisión similares.
Ejemplo 3: Descripción de un registro 5
Se crea un registro, en este caso un registro de llamada, cuando una central telefónica registra, en un archivo de datos sin procesar, los datos de una llamada realizada. Los registros de llamadas se recuperan de la central telefónica y se convierten en cadenas. El análisis que precede a la calificación lee y edita los valores del registro. Los datos requeridos para la calificación a menudo se añaden al registro durante el análisis.
5 Un registro se divide en campos de diferente longitud, un campo es en forma de cadena o numérico. Un registro finaliza con un avance de línea, después de lo cual se inicia el registro siguiente. En los campos con forma de cadena, el valor se encuentra en la orilla izquierda del campo, habiendo un espacio después del valor, hasta el inicio del siguiente campo. En los campos numéricos, el valor está en la orilla derecha del campo mientras se dejan los ceros delante del valor. Como nombre del campo se selecciona un nombre que representa el contenido del campo.
10 Descripción de registro según la Figura 1
Hay innumerables tipos diferentes de registro, los campos que aparecen usualmente en un registro se enumeran en el ejemplo de la figura. En las descripciones de registros de diferentes proveedores en intercambio se han establecido nombres similares para los campos más comunes de la siguiente manera. La numeración 101 - 116 es sólo una técnica que se utiliza para escribir esta publicación. Los campos 101 - 116 en realidad contienen lo que se
15 muestra a continuación, en lugar del número.
101
ID de intercambio 109 Número de teléfono del destinatario
102
ID de llamada 110 Número de teléfono transmitido
103
Tecnología de la central telefónica 111 Volumen de datos transmitidos
104
Fecha y hora de comienzo de la llamada 112 Código de país del que llama
105
Fecha y hora de finalización de la llamada 113 Código de operador
106
Duración de la llamada 114 Precio calculado
107
Datos de respuesta 115 Cargo calculado
108
Número de teléfono del que llama 116 Avance de línea
Uso conocido de listas enlazadas según la Figura 2
La estructura de datos de la implementación conocida se basa en tres listas enlazadas, que se examinan utilizando un algoritmo de tipo búsqueda secuencial. En esta solución, se examinan las listas enlazadas hasta que se encuentra la ID de un servicio, con las condiciones correspondientes a los valores de los campos del registro.
Al construir la estructura de datos, tal como la estructura de memoria principal, la condición de identificación de los servicios se registra en las listas enlazadas, por ejemplo, de modo que la ID de servicio se registra en la lista ‘Servicios’ y el nombre del campo en la lista ‘Campos’ y el operador de referencia y valor de referencia en la lista ‘Reglas’. Además, en cada campo se registra información relativa al servicio al que pertenece el campo, y a qué campo pertenece la condición en las condiciones. De esta manera se conectan entre sí los servicios, los campos y las condiciones. Los algoritmos de búsqueda descritos se han utilizado al principio de este documento.
Algunas realizaciones según la invención
Las estructuras de datos como las que se describen a continuación se utilizan preferiblemente para encontrar la correcta sentencia lógica a partir de un conjunto grande, con el fin de reducir el número de comparaciones de cadena necesarias para clasificar y seleccionar un registro.
En una potente solución de un conjunto de expresiones lógicas, no es posible examinar la verdad de todas las condiciones de comparación y las sentencias lógicas. Esto significa que se necesitan métodos más potentes de búsqueda/selección que la búsqueda secuencial o el análisis de una sentencia lógica. Unos métodos de búsqueda más potentes son, por ejemplo, las búsquedas basadas en tablas de dispersión (hash table) y las búsquedas basadas en árboles, así como una búsqueda binaria desde una tabla o vector ordenados. De estos, la implementación seleccionada para un examen más detallado es una búsqueda binaria desde un vector ordenado, ya que esto es el más sencillo de implementar. Por ejemplo, en el lenguaje de programación C, hay una funciones preparadas para ordenar un vector, qsort() y para buscarlo, bsearch(), ninguno de los otros métodos, tales como árboles o aleatoriedad, agregar mucho más potencia. En la práctica, la dispersión (hash) probablemente sería algo más potente que la solución que se describe.
Como estructura de clasificación se puede utilizar por lo menos una estructura de clasificación analizada específicamente por campo. Hay una razón para hacer tal estructura de datos compleja, con el fin de evaluar la expresión lógica utilizando métodos de búsqueda más potentes. Más adelante se describe una implementación, en la que se utilizan vectores de búsqueda binaria, con más detalle, pero el método también se puede realizar utilizando otros métodos de estructura de datos de búsqueda básica.
Tanto en los métodos conocidos como en los que son según la invención se realizan las siguientes fases:
Se reciben los registros, cuyos campos contienen valores. El registro es preferiblemente un registro que representaba a un evento en una red de telecomunicaciones. Los campos son, por ejemplo, campos del registro que representan la duración de una conexión y el volumen de datos transmitidos a través de la conexión. Los valores son, por ejemplo, los valores numéricos que representan la duración y el volumen de datos.
El valor contenido en por lo menos un campo predefinido se lee de por lo menos un registro recibido, en cuyo caso, por ejemplo, el valor de la duración de la conexión o del volumen de los datos transmitidos se lee de un registro de descripción de evento de la red de telecomunicaciones.
Los registros se seleccionan sobre la base de la estructura de clasificación en clases, por ejemplo, se seleccionan registros de descripción de eventos de redes de telecomunicaciones para clases de precios, con el fin de realizar la calificación.
Los siguientes factores caracterizan los métodos según la invención, en comparación con la situación de la técnica:
Se identifica por lo menos un campo leído y se selecciona una estructura de clasificación ordenada específicamente por campo como la estructura de clasificación correspondiente a cada campo identificado.
Esta es la diferencia con el método conocido porque en la situación de la técnica la estructura de clasificación se dispone específicamente por clase, de modo que los campos que definen la clase de los registros recibidos como un todo se comparan a su vez con cada clase, utilizando una búsqueda secuencial. En las soluciones según la invención, la estructura de clasificación se dispone específicamente por campo, de modo que cada campo que define la clase del registro recibido corresponde a su propia estructura de clasificación ordenada, lo que permite que las búsquedas sean realizadas rápidamente sobre la base del valor del campo.
En cada la estructura de clasificación seleccionada se busca el valor de referencia de acuerdo con el valor contenido en el campo. De este modo, una estructura de clasificación puede ser, por ejemplo, acorde con la duración y otra estructura de clasificación puede ser, por ejemplo, acorde con el volumen de datos transmitidos. En la situación de la técnica, por otro lado, tienen lugar comparaciones frente a un valor de referencia específico y se recibe una respuesta en cuanto a si el valor corresponde al valor de referencia o no. Ahora, el valor de referencia acorde con el valor buscado se obtiene directamente de la estructura, de manera metódica y con pocas comparaciones.
En cada estructura de clasificación se lee por lo menos una clase acorde con las condiciones de la estructura de clasificación y correspondiente al valor de referencia, proporcionando de este modo una clase o conjunto de clases, por ejemplo, desde las diferentes estructuras de clasificación, que corresponden a la duración de la conexión, y una clase o un conjunto de clases, que se corresponden con el volumen de datos transmitidos a través de la conexión.
El registro se selecciona para una clase leída de una estructura de clasificación ordenada específicamente por campo. La clase, con la que se selecciona el registro, se selecciona de las clases obtenidas de las estructuras analizadas específicamente por campo, por lo menos si se ha obtenido más de una clase.
El principio de la solución de conjunto de servicio según la Figura 3, como operaciones de conjuntos
El modelo de conjuntos de la solución se basa en operaciones entre los conjuntos de las ID de servicio. Los conjuntos se forman sobre la base de los valores del campo, de tal manera que para cada campo se forma un conjunto de unas ID de servicio. En los conjuntos específicos de campo estás las ID de los servicios, en los que la condición del campo utilizado en la sentencia condicional del servicio es verdadera. Se selecciona la ID del servicio que aparece en todos los conjuntos, es decir, su sentencia condicional es totalmente verdadera.
El modelo se implementa aplicando la unión entre los conjuntos del campo de la operación OR definida en el principio de precisión y la intersección entre los conjuntos específicos de campo y la operación AND. La unión e intersección se presenta en seudocódigo, con la ayuda de una tabla de conjuntos válidos.
Las sentencias condicionales correspondientes a los servicios son de la siguiente manera:
Sentencia condicional de servicio
A-Durat > 30
B-Durat > 60 OR Durat = 222
C-Durat > 60 AND Durat > 165
D-Durat > 90
E-Durat > 300 OR Durat = 222
F-Durat > 111 AND Volume > 20
G-Durat > 111 AND Volume > 195
H-Durat > 333 AND Volume > 80
I-Volume > 95
J-Volume < 70
Por ejemplo, para los valores DURAT = 222 y VOLUME = 170, se obtienen los siguientes conjuntos de servicios a partir de la estructura:
*
para la condición ‘222 > valor de referencia’, la tabla DURAT.> de Operando del campo DURAT da el conjunto de servicio: {A, B, C, D}, que se coloca en el conjunto set.DURAT
*
para la condición ‘222 < valor de referencia’, la tabla DURAT.< de Operando del campo DURAT da el conjunto de servicio: {}, que se añade al conjunto set.DURAT, utilizando la operación Unión
*
para la condición ‘222 = valor de referencia’, la tabla DURAT.= de Operando del campo DURAT da el conjunto de servicio: {B E}, que se añade al conjunto set.DURAT, utilizando la operación Unión
set.DURAT contiene los servicios: {A B C D E} correspondientes al valor DURAT del campo.
*
para la condición ‘170 > valor de referencia’, la tabla VOLUME.> de Operando del campo VOLUME da el conjunto de servicio: {C I}, que se coloca en el conjunto set.VOLUME
*
para la condición ‘170 < valor de referencia’, la tabla VOLUME.< de Operando del campo VOLUME da el conjunto de servicio: {}, que se añade al conjunto set.VOLUME, utilizando la operación Unión
*
para la condición ‘170 = valor de referencia’, la tabla VOLUME.= de Operando del campo VOLUME da el conjunto de servicio: {}, que se añade al conjunto set.VOLUME, utilizando la operación Unión
set.VOLUME contiene los servicios: {C I} correspondientes al valor VOLUME del campo.
Finalmente, se hace una operación de intersección entre los conjuntos de los diferentes campos, que da el servicio {A B C D E} AND {C I} = {C} correspondiente a todos los campos y que es un servicio válido.
Inicialización de la tabla de conjuntos válidos según la Figura 4
Se prefiere el uso de la siguiente estructura de datos: Al inicializar la estructura de datos, las sentencias condicionales se leen del archivo de conjunto de parámetros, en el
que aparecen de tal manera que una línea tiene una ID de servicio y una condición. De esta manera, la sentencia condicional se divide en varias líneas. Forma del archivo de conjunto de parámetros: ID de servicio Válido desde Válido hasta Campo Operado Valor de referencia
A1 01.01.2002 31.12.2010 ASUB = 123 A1 01.01.2002 31.12.2010 ASUB = 124 A1 01.01.2002 31.12.2010 BSUB = 222
B1 01.01.2002 31.12.2010 ASUB = 456 La inicialización de la estructura de datos se divide en la inicialización de una Tabla de conjuntos válidos y la inicialización de un Tabla de campos. La ID de servicio se lee del archivo de conjunto de parámetros y se calcula el número de los campos diferentes utilizados en la sentencia condicional y el número se introduce en la columna de precisión. Hay tres columnas en la tabla de conjuntos válidos: ID de servicio; Frecuencia, que dice cuántas condiciones de la sentencia condicional del servicio son verdaderas en los campos de este registro; y la Precisión, que dice cuántos campos diferentes del registro de llamadas se utilizan en la sentencia condicional del servicio (número de condiciones AND +1 en la sentencia condicional). A continuación se muestran las fases del método según la Figura 4. Las fases 401 - 404 se realizan para establecer el servicio en la tabla de conjuntos válidos y para establecer la precisión de acuerdo con el principio de precisión. 401) Se lee la primera línea del archivo de conjunto de parámetros. 402) La ID de servicio de campo ‘A1’ y el campo ‘ASUB’ se leen de la línea. 403) La ID de servicio se busca en la tabla de conjuntos válidos - la ID no se encuentra, por lo tanto, se agrega a la tabla en su propia columna de ID de servicio. 404) El valor de la columna de precisión se incrementa en uno. Las fases 405 - 410 se realizan para establecer datos adecuados de precisión de datos de servicio en la sentencia condicional del archivo de conjunto de parámetros. 405) Se lee la siguiente línea del archivo de conjunto de parámetros. 406) La ID de servicio de campo ‘A1’ y el campo ‘ASUB’ se leen de la línea - ya que tanto la ID de servicio como el campo son los mismos, se pasa a la línea siguiente. 407) Se lee la siguiente línea del archivo de conjunto de parámetros. 408) La ID de servicio de campo ‘A1’ y el campo ‘BSUB’ se leen de la línea. 409) La ID de servicio se busca en la tabla de conjuntos válidos - se encuentra la ID, por tanto, el valor de la columna ‘Precisión’ se aumenta en uno. 410) Se lee la siguiente línea del archivo de conjunto de parámetros y ser realiza un nuevo inicio desde la fase
402.
Creación de una tabla de campos según la Figura 5, sobre la base de los datos del archivo de conjuntos de parámetros:
Los nombres de los campos se establecen como las entradas de la tabla y para cada campo se crean tres tablas específicas de operando, que son mayor que, menor que e igual a las tablas. De este modo, cada campo tiene creada su propia estructura de árbol.
Las condiciones del servicio se registran en la base de datos de la memoria principal de la siguiente manera. El valor de referencia y la ID de servicio se registran en la tabla específica de operando del campo. Si el valor de referencia ya existe, se añade la ID de servicio a la tabla, separados por una coma. Si la ID de servicio ya está en la línea, no se hace la adición.
Algoritmo
Los servicios se numeran de tal manera que la ID de servicio es un número de línea en la tabla de conjuntos válidos. Utilizando este método, se puede señalar directamente a la línea del servicio deseado en la tabla de conjuntos válidos.
El valor del campo y las tablas de operando del campo se introducen en el algoritmo. En la identificación del servicio, las ID correspondientes al valor del campo se buscan en las tablas de operandos. Las ID obtenidas se combinan de tal manera que se suprimen los múltiplos de las ID y el resultado es una tabla específica de campo correspondiente a las condiciones del campo.
Se revisan las tablas específicas de campo y se aumenta en uno la frecuencia de la línea de ID de servicio de la tabla de conjuntos válidos. Se selecciona como válido el servicio con la mayor precisión y la frecuencia del mismo es la precisión, es decir, la sentencia condicional del servicio es verdadera.
En el método según la Figura 5, se realizan las siguientes fases. Las fases 501 - 508 se realizan para construir una estructura de clasificación similar a un árbol específica de campo para el campo especificado.
501)
Se crea la tabla CAMPOS.
502)
Se lee la primera línea del archivo de conjunto de parámetros.
503)
Se lee el campo ‘ASUB’ de la línea y se identifica como tipo de carácter.
504)
Se crea una entrada ‘ASUB en la tabla CAMPOS y se establece como tipo de carácter.
505)
Se crea una tabla de operandos vacía ‘ASUB.=’, y se conecta a la entrada ASUB de la tabla CAMPOS.
506)
Se lee el operando ‘=’ de la línea.
507)
El valor de referencia ‘123’ y la ID de servicio ‘A1’ se leen de la línea.
508)
Se busca el valor 123 en la columna de valor de referencia de la tabla de operandos ‘ASUB.=’ - no se
encuentra el valor, por lo que se añade una nueva línea a la tabla ‘ASUB.=’.
Las fases 509 - 510 se realizan para completar el contenido de la estructura de clasificación similar a un árbol específica de campo. 509) El valor ‘123’ se coloca en la columna valor de referencia y ‘A1’ en la columna ID de servicio. 510) Se lee la siguiente línea del archivo de conjunto de parámetros y se continúa el procedimiento desde la fase
503.
Identificación del servicio y formación de tablas de servicios específicas de campo, según la Figura 6
A continuación se describe cómo se forman conjuntos de servicios específicos de campo sobre la base de los
valores de los campos de registro.
A continuación se realizan las siguientes fases del método acorde con la Figura 6:
Se realizan las fases 601 - 610 para identificar el primer valor.
601) Se lee el primer registro.
602) En la tabla CAMPOS se busca el primer nombre de entrada ASUB.
603) En el registro se lee el contenido ‘123’ del campo ASUB.
604) Todas las líneas con un valor menor que el valor ‘123’ en la columna de valor de referencia se buscan en la tabla de operandos ‘ASUB.>’ - No se encuentra esa línea.
605) Todas las líneas con un valor mayor que el valor ‘123’ en la columna de valor de referencia se buscan en la tabla de operandos ‘ASUB.<’. Esa línea no se encuentra.
606) Todas las líneas con el valor ‘123’ en la columna de valor de referencia se buscan en la tabla de operandos ‘ASUB.=’.
607) Se encuentra una línea así.
608) La ID de servicio A1 se lee en la línea ‘ASUB.=’ de la tabla de operandos.
609) La ID de servicio A1 se agrega a la tabla set.ASUB.
610) Si hay múltiplos de las ID de servicios en la tabla Set.ASUB, estos se suprimen.
Se realizan las fases 611 - 619 con el fin de identificar el segundo valor.
611) De la tabla CAMPOS se recupera el siguiente nombre de entrada BSUB.
612) En el registro se lee el contenido ‘222’ del campo BSUB.
613) Todas las líneas con un valor menor que el valor ‘222’ en la columna de valor de referencia se buscan en la tabla de operandos ‘BSUB.>’ - No se encuentra esa línea.
614) Todas las líneas con un valor mayor que el valor ‘222’ en la columna de valor de referencia se buscan en la tabla de operandos ‘BSUB.<’. Esa línea no se encuentra.
615) Todas las líneas con el valor ‘222’ en la columna de valor de referencia se buscan en la tabla de operandos ‘BSUB.=’.
616) Se encuentra una línea así.
617) La ID de servicio A1 se lee en la línea ‘BSUB.=’ de la tabla de operandos.
618) La ID de servicio A1 se agrega a la tabla set.BSUB.
619) Si hay múltiplos de las ID de servicios en la tabla Set.BSUB, estos se suprimen.
Se realiza la fase 620 para formar conjuntos de servicio específicos de campo.
620) Se lee el valor del siguiente campo del registro, continuando hasta que se han procesado los valores de todos los campos a procesar.
Identificación del servicio según la Figura 7, en la que la ID del servicio utilizado se identifica en una tabla de conjuntos válidos.
A continuación se realizan las siguientes fases del método acorde con la Figura 7:
Se realizan las fases 701 - 706 para identificar el servicio utilizado del primer conjunto ASUB y para actualizar la
frecuencia del conjunto válido.
701) Se lee la primera ID de servicio ‘A1’ del Servicio Set.ASUB.
702) La línea correspondiente a la ID de servicio se busca en la tabla de conjuntos válidos.
703) La frecuencia de la tabla de conjuntos válidos se incrementa en uno.
704) La mayor frecuencia se establece en el valor 1.
705) El Servicio válido se establece en el valor ‘A1’.
706) Se lee la siguiente ID servicio del servicio Set.ASUB, no se encuentra.
Se realizan las fases 707 - 710 para identificar el servicio utilizado del segundo conjunto BSUB y para actualizar la
frecuencia del conjunto válido. 707) Se lee la primera ID de servicio del Servicio Set.BSUB. 708) La línea correspondiente a la ID de servicio se recupera de la tabla de conjuntos válidos. 709) La frecuencia de la tabla de conjuntos válidos se incrementa en uno. 710) La mayor frecuencia se establece en el valor 2. Las fases 711 - 713 se realizan para identificar la validez del servicio.
711) El Servicio válido se establece en el valor ‘A1’. 712) Se lee la siguiente ID servicio del servicio Set.BSUB, no se encuentra. 713) Se hace una comprobación de si la precisión y la frecuencia del servicio válido A1 son iguales entre sí - los
son, por lo tanto, el servicio válido es A1. A continuación se muestra el seudocódigo de un método recomendado según la invención:
/* CREACIÓN DE BASE DE DATOS DE LA MEMORIA PRINCIPAL: LEER EL REGISTRO DEL ARCHIVO */ /* DESCRIPCIÓN DE CAMPO Y CREAR DIFERENTES OPERANDOS PARA CADA CAMPO */ /* TABLAS CORRESPONDIENTES, CON SERVICIO Y VALOR DE REFERENCIA DE CONDICIÓN */ /* ID, A LA QUE PERTENECE LA CONDICIÓN */
/* EN CONDICIÓN ASUB > 120 LOS FACTORES DE EXPRESIÓN SON DE LA SIGUIENTE MANERA */ /* ASUB - CAMPO */ /* > - OPERANDO */ /* 120 - VALOR DE REFERENCIA */
CREAR CAMPOS DE TABLA
MIENTRAS (LEER SIGUIENTE CAMPO B) {
/* EL TIPO DE COLUMNA ES UN CAMPO NUMÉRICO O DE CARACTERES */ NOMBRE Y TIPO DE CAMPO B DE REGISTRO EN CAMPOS DE TABLA
/* LEER LAS CONDICIONES DE LOS SERVICIOS Y REGISTRARLAS EN GRUPOS */
MIENTRAS (LEER LA CONDICIÓN DEL SIGUIENTE SERVICIO X) { SI (CAMPO B UTILIZADO EN CONDICIONES) {
/* CREAR GRUPOS */
EN CASO DE (OPERANDO DE CONDICIÓN) { " >" : { CREAR TABLA "B.>" BUSCAR VALOR CORRESPONDIENTE AL VALOR DE REFERENCIA DE LA TABLA "B.>" SI (NO ENCONTRADO) { AGREGAR VALOR DE REFERENCIA E ID DE SERVICIO A LAS PROPIAS COLUMNAS "B.>" - TABLA } SI NO {
AGREGAR ID DE SERVICIO A "B.>" - TABLA EN LA LÍNEA CORRESPONDIENTE AL VALOR DE REFERENCIA QUE SEA LA ÚLTIMA COLUMNA DE ID DE SERVICIO } } "<": { CREAR TABLA "B.<" BUSCAR VALOR CORRESPONDIENTE AL VALOR DE REFERENCIA DE LA TABLA "B.<" SI (NO ENCONTRADO) { AGREGAR VALOR DE REFERENCIA E ID DE SERVICIO A LAS PROPIAS COLUMNAS "B.<" - TABLA
} SI NO { AGREGAR ID DE SERVICIO A "B.<" - TABLA EN LA LÍNEA CORRESPONDIENTE AL VALOR DE REFERENCIA QUE SEA LA ÚLTIMA COLUMNA DE ID DE SERVICIO
} } "=": { CREAR TABLA "B.=" BUSCAR VALOR CORRESPONDIENTE AL VALOR DE REFERENCIA DE LA TABLA "B.=" SI (NO ENCONTRADO) { AGREGAR VALOR DE REFERENCIA E ID DE SERVICIO A LAS PROPIAS COLUMNAS "B.=" - TABLA } SI NO { AGREGAR ID DE SERVICIO A "B.=" - TABLA EN LA LÍNEA CORRESPONDIENTE AL VALOR DE REFERENCIA
QUE SEA LA ÚLTIMA COLUMNA DE ID DE SERVICIO } } } } DISPONER TABLA "B.>" SOBRE LA BASE DEL VALOR DE REFERENCIA DISPONER TABLA "B.<" SOBRE LA BASE DEL VALOR DE REFERENCIA DISPONER TABLA "B.=" SOBRE LA BASE DEL VALOR DE REFERENCIA
} /* CONTINÚA LA CREACIÓN DE BASE DE DATOS DE LA MEMORIA PRINCIPAL */ /* CREAR CONJUNTO VÁLIDO DE TABLA, EN EL QUE HAY COLUMNAS, ID DE SERVICIO */ /* FRECUENCIA Y PRECISIÓN. PRECISIÓN DE TODOS LOS SERVICIOS INICIALIZADOS EN LA TABLA */ /* ES DECIR CUANTOS CAMPOS DIFERENTES SE UTILIZAN EN LA SENTENCIA CONDICIONAL */
/* SERVICIOS LEÍDOS DEL ARCHIVO CUYA FORMA ES */ /* SE DESCRIBE EN LA SECCIÓN 5.1.3 ESTRUCTURA DE DATOS */ ÍNDICE = 0
MIENTRAS (LEER SIGUIENTE ID DE SERVICIO X) {
LEER CUANTOS CAMPOS DIFERENTES SE UTILIZAN EN LA SENTENCIA CONDICIONAL DE SERVICIO X /* PRECISIÓN DE REGISTRO */ COLOCAR EL NÚMERO EN CONJUNTO VÁLIDO DE TABLA EN LA LÍNEA DE ÍNDICE EN LA COLUMNA DE
PRECISIÓN ÍNDICE = ÍNDICE + 1 }
/* IDENTIFICACIÓN DE LOS SERVICIOS DE REGISTRO DE LLAMADAS */ /* FUNCIÓN SEARCH_SERVICE() */
MIENTRAS (LEER SIGUIENTE CAMPO B Y SU TIPO DE LA TABLA DE CAMPOS) {
LEER EL VALOR DEL CAMPO B
/* TABLA A LA QUE EL VALOR DEL CAMPO B CORRESPONDE LAS ID DE SERVICIOS REGISTRADOS */ CREAR TABLA SET."B" ESPECÍFICA DE CAMPO
/* BUSCAR CONJUNTO DE LA TABLA, ES DECIR GRUPO "B", P. EJ. UTILIZANDO BÚSQUEDA BINARIA */
BUSCAR EN LA TABLA "B.>" LA SIGUIENTE MAYOR LÍNEA C PARA EL VALOR B DEL CAMPO SI (ENCONTRADO) { COPIAR TODAS LAS ID DE SERVICIO DESDE LA TABLA "B.>" DESDE LA LÍNEA C EN ADELANTE AL
CONJUNTO DE SERVICIOS DE TABLA SET."B" = CONJUNTO DE SERVICIOS }
/* BUSCAR CONJUNTO DE LA TABLA, ES DECIR GRUPO "B.<", P. EJ. UTILIZANDO BÚSQUEDA BINARIA */
BUSCAR EN LA TABLA "B.<" LA SIGUIENTE MENOR LÍNEA C PARA EL VALOR B DEL CAMPO SI
(ENCONTRADO) { COPIAR TODAS LAS ID DE SERVICIO DESDE EL PRINCIPIO DE LA TABLA "B.<" A LA LÍNEA C PARA EL CONJUNTO DE SERVICIO DE TABLA
SET."B" = SET."B" O CONJUNTO DE SERVICIOS }
/* BUSCAR CONJUNTO DE LA TABLA, ES DECIR GRUPO "B.=", P. EJ. UTILIZANDO BÚSQUEDA BINARIA */
BUSCAR EN LA TABLA "B.=" LA LÍNEA C CORRESPONDIENTE AL VALOR B DEL CAMPO SI (ENCONTRADO) {
COPIAR TODAS LAS ID DE SERVICIO DESDE LA LÍNEA C DE LA TABLA "B.=" AL CONJUNTO DE SERVICIOS DE TABLA SET."B" = SET."B" O CONJUNTO DE SERVICIOS } RETIRAR DE LA TABLA LAS LÍNEAS SET."B" QUE TIENEN LA MISMA ID DE SERVICIO
/* RECORDATORIO PARA LA IMPLEMENTACIÓN */
/* EN LA IMPLEMENTACIÓN MIENTRAS (LEER LA TABLA."B" CATEG. . . SE PUEDEN INSERTAR EN ESTE MOMENTO */ }
/* AHORA SE FORMAN CONJUNTOS DE ID DE SERVICIO SET."B" ESPECÍFICOS DE CAMPO */
/* REALIZAR AND (INTERSECCIÓN DE OPERACIÓN DE CONJUNTOS) ENTRE TABLAS ESPECÍFICAS DE CAMPO */ /* DE LA QUE EL RESULTADO OBTENIDO ES LA ID DE SERVICIO QUE ESTÁ EN TODOS */ /* CONJUNTOS ESPECÍFICOS DE CAMPO, SI NO SE ENCUENTRA SELECCIONAR LA ID QUE ESTÁ */ /* EN LA MAYORÍA DE CONJUNTOS ESPECÍFICOS DE CAMPO */
/* Y LA OPERACIÓN AND SE IMPLEMENTA DE TAL MANERA QUE SE RECOGEN */ /* EN LA TABLA DE CONJUNTOS VÁLIDOS LOS NÚMEROS DE APARICIÓN, ES DECIR FRECUENCIAS */ /* DE LAS DIVERSAS ID DE LOS CONJUNTOS DE ID DE SERVICIO ESPECÍFICO DE CAMPO. */
/* SE SELECCIONA COMO VÁLIDO EL SERVICIO CUYA FRECUENCIA ES LA MAYOR Y LA MISMA */ /* QUE LA PRECISIÓN DEL SERVICIO */ /* LAS COLUMNAS DE CONJUNTOS VÁLIDOS DE LA TABLA SON ID DE SERVICIO, FRECUENCIA Y */ /* PRECISIÓN. LA PRECISIÓN ES EL NÚMERO DE CAMPOS DIFERENTES QUE APARECEN EN LA
SENTENCIA CONDICIONAL */
VACIAR LA FRECUENCIA DE COLUMNA DE CONJUNTOS VÁLIDOS DE LA TABLA LA MAYOR FRECUENCIA = 0 SERVICIO VÁLIDO = NULL MIENTRAS ( LEER SIGUIENTE SET."B_" DE TABLA B DEL CAMPO) {
MIENTRAS ( LEER ID DE SERVICIO C DE SET."B" DE LA TABLA) {
AUMENTAR EN UNO LA FRECUENCIA D DE ID DE SERVICIO DE LÍNEA C DE TABLA DE CONJUNTOS VÁLIDOS
SI (FRECUENCIA D DE ID DE SERVICIO C > LA MAYOR FRECUENCIA ) {
LA MAYOR FRECUENCIA = FRECUENCIA D DE ID DE SERVICIO C
SERVICIO VÁLIDO = ID DE SERVICIO C } } } } /* LAS TABLAS SET."B" ESPECÍFICAS DE CAMPO SE DISPONEN EN ORDEN ALFANUMÉRICO SOBRE */ /* LA BASE DE LA ID DE SERVICIO C, SI HAY VARIOS SERVICIOS VÁLIDOS */ /* A CONTINUACIÓN, SE SELECCIONA LA PRIMERA ID DE SERVICIO VÁLIDO EN ORDEN ALFANUMÉRICO */ /* COMPROBAR SI LA FRECUENCIA DEL SERVICIO OBTENIDO ES IGUAL A */ /* LA PRECISIÓN DE LA SENTENCIA CONDICIONAL DEL SERVICIO, SI ES */ /* NO, BUSCAR EN LA TABLA DE CONJUNTOS VÁLIDOS EL SERVICIO QUE TIENE LA */ /* MAYOR FRECUENCIA Y LA FRECUENCIA ES LA MISMA QUE LA PRECISIÓN */ /* DEL SERVICIO */ SI { LA FRECUENCIA DEL SERVICIO VÁLIDO DE LA LÍNEA DE LA TABLA DE CONJUNTOS VÁLIDOS < LA
PRECISIÓN DEL SERVICIO VÁLIDO DE LA LÍNEA) {
SERVICIO VÁLIDO = NULL
/* LOS SERVICIOS ESTÁN EN LA TABLA EN ORDEN DE PRECISIÓN Y TAMBIÉN */ /* EN ORDEN ALFANUMÉRICO PARA LA MISMA PRECISIÓN -> */ /* BUSCAR EL SIGUIENTE SERVICIO PARA EL CUAL LA PRECISIÓN Y LA FRECUENCIA */ /* SON IGUALES */
MIENTRAS (RECUPERAR LA LÍNEA SIGUIENTE X DE LA TABLA DE CONJUNTOS VÁLIDOS) { SI (FRECUENCIA DE LINEA X DE LA TABLA DE CONJUNTOS VÁLIDOS == PRECISIÓN DE LÍNEA X ) { SERVICIO VÁLIDO = ID DE SERVICIO DE LA LÍNEA X DE TABLA DE CONJUNTOS VÁLIDOS BREAK } } }
/* DEVOLVER SERVICIO CORRESPONDIENTE A LOS VALORES DE CAMPOS DE REGISTRO DE LLAMADA */
DEVOLVER SERVICIO VÁLIDO
Diagrama de flujo 8 Inicialización de la tabla ‘Campos’ de la estructura de datos
Definiciones del diagrama de flujo:
= Nombre del campo (p. ej., ASUB, BSUB) X = ID de servicio (p. ej., A1, B1) Se realizan las siguientes fases en el método. Se realizan las fases 801 - 806 para inicializar el primer valor: 801) Se crea la tabla 'Campos'. 802) Se lee el siguiente campo. Si el campo es válido, pasar a la fase 803. Si el campo no es válido, pasar a la
inicialización de la Figura 9 de una tabla de conjuntos válidos.
803)
El nombre y el tipo de los campos se registran en la tabla ‘Campos’.
804)
Se lee el estado del siguiente servicio X.
805)
Comprobar si el campo Y se utiliza en la condición, si es así pasar a la fase 806, si no pasar a la fase 804.
806)
Menú de operando de condición, de la que se pasa a la fase 807, 811, o 815, dependiendo de si el
operando es >, < o = Se realizan las fases 807 - 810 para procesar la condición "mayor que". 807) Se crea la tabla “Y.>”. 808) En la tabla “Y.>” se busca un valor que corresponde al valor de referencia, por ejemplo, utilizando una
búsqueda binaria “Y.>”. El comentario, ‘por ejemplo, utilizando una búsqueda binaria’ también está en el seudocódigo. Con el fin de poder usar la búsqueda binaria, para ella también debe formarse una adecuada estructura de datos según la invención. La búsqueda también podría ser, por ejemplo, una búsqueda hash, pero en ese caso la estructura de datos sería diferente. Es cierto que también en este caso también la búsqueda sería extremadamente potente. En otras palabras, este mismo entendimiento básico de la invención también puede implementarse utilizando un tipo diferente de estructura de datos y de algoritmo de búsqueda.
809) El valor de referencia y el código de servicio se añaden a la tabla “Y.>”. 810) La ID de servicio se añade para estar al final de la línea correspondiente al valor de referencia en la tabla
“Y.>”. Se realizan las fases 811 - 814 para procesar la condición "menor que". 811) Se crea la tabla “Y.<”. 812) En la tabla se busca un valor que corresponde al valor de referencia, por ejemplo, utilizando una búsqueda
binaria “Y.<”. 813) El valor de referencia y el código de servicio se añaden a la tabla “Y.<”. 814) La ID de servicio se añade para estar al final de la línea correspondiente al valor de referencia en la tabla
“Y.<”. Las fases 815-818 realizan el procesamiento de la condición "igual a". 815) Se crea la tabla “Y.=”. 816) En la tabla se busca un valor que corresponde al valor de referencia, por ejemplo, utilizando una búsqueda
binaria “Y.=”. 817) El valor de referencia y el código de servicio se añaden a la tabla “Y.=”. 818) La ID de servicio se añade para estar al final de la línea correspondiente al valor de referencia en la tabla
“Y.=”. Se realizan las fases 819 - 821 para procesar la tabla. 819) La tabla “Y.>” se ordena sobre la base del valor de referencia. 820) La tabla “Y.<” se ordena sobre la base del valor de referencia. 821) La tabla “Y.=” se ordena sobre la base del valor de referencia.
Diagrama de flujo 9 Inicialización de la tabla de conjuntos válidos de la estructura de datos
En el método, se realizan las siguientes fases. Las fases 901 - 905 se realizan para definir la precisión de la condición.
901) Pasar al inicio del archivo de conjunto de parámetros.
902) Se lee el siguiente ID de servicio X. Si se encuentra el siguiente servicio, pasar a la fase 903, si no se encuentra el siguiente servicio, terminar.
903)
Calcular cuántos campos diferentes se utilizan en la sentencia condicional del servicio X.
904)
El número se coloca en la tabla de conjuntos válidos, en la columna 'Precisión' de la línea de ÍNDICE.
905)
El valor de INDEX se incrementa en uno.
Identificación del servicio de según las Figuras 10 y 11
En el diagrama de flujo 10 se utilizan los siguientes símbolos: Y = nombre del campo (p. ej., ASUB, BSUB) X = ID de servicio (p. ej., A1, B1). En el método, se realizan las siguientes fases. Se realizan las fases 1001 - 1003 para encontrar, en la tabla, la
posición acorde con el valor de campo Y de un registro recibido.
1001) Se recibe por lo menos un registro, cuyos campos contienen valores. En la tabla Campos se lee el siguiente campo Y y su tipo, que es una estructura de clasificación y se selecciona la estructura de clasificación ordenada específicamente por campo correspondiente al campo Y. Si se encuentra el siguiente campo, pasar a la fase
1002. Si no se encuentra el siguiente campo, pasar a la Figura 11.
1002) Leer el valor del campo Y en el registro.
1003) Crear la tabla set.“Y” específica de campo.
Las fases 1004 - 1008 se realizan para buscar las ID de servicios de acuerdo con el siguiente valor de referencia
más grande con el valor del registro recibido.
1004) En la tabla se busca la siguiente línea más grande para el valor del campo Y, por ejemplo, utilizando una búsqueda binaria “Y.>”. Si se encuentra la línea, pasar a la fase 1005. Si no se encuentra la línea, pasar a la
fase 1008.
1005) Se crea una tabla vacía de conjunto de servicios.
1006) Todas las ID de servicios se copian, desde la línea recuperada en adelante, desde la tabla “Y.>” a la tabla
de conjuntos de servicios.
1007) Todas las ID de servicios, de las que se pueden encontrar ninguna o varias, desde la tabla de conjuntos de servicios se registran en la tabla Set.“Y”.
1008) En la tabla se busca la siguiente línea más pequeña que el valor del campo Y, por ejemplo, utilizando una búsqueda binaria “Y.<”. Si se encuentra la línea, pasar a la fase 1009. Si no se encuentra la línea, pasar a la línea 1012.
Las fases 1009 - 1012 se realizan para buscar las ID de servicios de acuerdo con el siguiente valor de referencia más pequeño con el valor del registro recibido. 1009) Se crea una tabla vacía de conjunto de servicios. 1010) Todas las ID de servicios desde el inicio de la tabla “Y.<” a la línea recuperada se copian en la tabla de
conjuntos de servicios.
1011) Todas las ID de servicios, que puede ser ninguna o varias, desde la tabla de conjuntos de servicios se registran en la tabla Set.“Y”
1012) En la tabla se busca la línea correspondiente al valor del campo Y, por ejemplo, utilizando una búsqueda binaria “Y.=”. Si se encuentra una línea, pasar a la fase 1013. Si no se encuentra la línea, pasar a la fase 1016.
Las fases 1013 - 1016 se realizan con el fin de buscar las ID de servicios acordes con el valor de referencia igual al
valor del registro recibido.
1013) Se crea una tabla vacía de conjunto de servicios. 1014) Todas las ID de servicios de la búsqueda línea se copian desde la tabla “Y.=” en la tabla de conjuntos de servicios. 1015) Todas las ID de servicios, que puede ser ninguna o varias, desde la tabla de conjuntos de servicios se
registran en la tabla Set.“Y”. 1016) Eliminar de la tabla Set.“Y” todas las líneas con la misma ID de servicio. En la parte del método acorde con el diagrama de flujo 11, se realizan las siguientes fases. Las fases 1101 - 1102 se
forman para restablecer la supervisión de la frecuencia de aparición y para encontrar la tabla específica de campo que ha de examinarse. 1101) Se vacía la Frecuencia de columna de la tabla de conjuntos válidos, La mayor frecuencia = 0, Servicio válido = NULL, pasar al primer campo. 1102) Leer la tabla Set.“Y” del siguiente campo Y. Se realizan las fases 1103 - 1106 para actualizar los datos encontrados de servicio en la tabla de conjuntos válidos. 1103) Se lee la ID de servicio de la tabla Set.“Y”. 1104) La frecuencia de servicio de la tabla de conjuntos válidos se incrementa en uno. 1105) ¿Es la frecuencia de servicios superior a la mayor frecuencia? 1106) La mayor frecuencia = frecuencia de ID de servicio, Servicio válido = ID de servicio. Las fases 1107 - 1108 se realizan para evaluar la idoneidad de la precisión de la línea que se está examinando. 1107) ¿Es la Frecuencia de servicio válido de la línea de la Tabla de conjuntos válidos menor que su precisión? 1108) Servicio válido = NULL. Se realizan las fases 1109 -1110 para buscar la línea en la que está el servicio válido. 1109) Se busca la siguiente línea de la tabla de conjuntos válidos. 1110) ¿Es la frecuencia de la tabla de conjuntos válidos igual que la precisión de la línea? Las fases 1111-1112 se realizan con el fin de buscar y devolver el servicio válido. 1111) Servicio válido = ID de servicio X de la línea de la tabla de conjuntos válidos.
1112) Devolver servicio válido. También se pueden contemplar realizaciones de la invención que difieren de las descritas anteriormente. Las siguientes son algunas de estas.
Análisis de una sentencia condicional: Cada ID de servicio corresponde a una sentencia condicional, en la que hay condiciones. El análisis de una sentencia condicional es una manera alternativa para determinar qué ID de servicio es válida. Cuando se analiza, se
debe recordar que las sentencias condicionales deben disponerse, de acuerdo con el principio de precisión, desde la más precisa a la menos precisa. Cuando se analiza una sentencia condicional, la sentencia condicional se revisa de tal manera que el valor obtenido
del registro se establece para la condición, y se hace una investigación en cuanto a si es verdadera. Si se lee la operación básica AND de la expresión, entonces se lee la siguiente condición y se examina su posible verdad. En la operación básica OR, no hay necesidad de leer la segunda condición de la operación, si la primera condición es verdadera. El orden de realización de las operaciones y las condiciones puede ser alterado utilizando corchetes de la sentencia condicional.
Los intentos por acelerar el análisis requieren que las sentencias condicionales sean revisadas hasta que se encuentre una sentencia condicional válida, es decir de promedio para cada registro se revisa un 50% de las sentencias condicionales. El principio de análisis es similar al de la presente solución, en la que se revisan listas enlazadas. Sin embargo, dado que el análisis sólo tiene una lista, se puede suponer que la velocidad será mayor que en la solución de listas enlazadas de la situación de la técnica.
Analizar una ecuación
El análisis parece ser lento, pero las condiciones se pueden resolver de antemano, dando a una condición el valor 1 si es verdadera y el valor 0 si es falsa. Los valores se colocan en las sentencias condicionales y las operaciones AND se convierten en multiplicaciones y las operaciones OR en sumas. La sentencia condicional, a continuación, se convierte en una ecuación, que puede ser resuelta tan rápidamente como se puedan comparar valores numéricos. Además, también otros posibles operandos son los cálculos Booleanos/teoría de conjuntos, tales como por ejemplo NOR, XAND, XOR.
Las condiciones se registran en una tabla de valor-verdad en la que hay dos columnas: condición y valor-verdad. Los valores-verdad de las condiciones se resuelven tan pronto como se han leído los valores del registro. Si la condición en cuestión es verdadera o falsa (1 o 0) también se introduce en la misma tabla.
La implementación se hace de tal manera que cuando se analiza una sentencia condicional, se hace una comprobación para cada condición en cuanto a si ya se encuentra la tabla de valores-verdad, y si lo está, entonces, en este punto en la sentencia condicional, se establece un indicador para el valor-verdad en la tabla de valoresverdad. Si no se encuentra la condición en la tabla de valores-verdad, se agrega la condición a la tabla de valoresverdad y en la sentencia condicional se establece un indicador al valor-verdad en la tabla de valores-verdad.
Se pueden hacer diversas adaptaciones del modelo de conjuntos, que aplican los mismos principios que la solución implementada ahora. A continuación se describen algunas de las posibles adaptaciones de la utilización del principio del modelo de conjuntos.
Una sentencia condicional más amplia:
El principio de precisión de la identificación del servicio se amplia de modo que los operandos AND, OR y NOT, así como los corchetes, se pueden utilizar libremente en la sentencia condicional. La sentencia condicional se edita de tal modo que se obtiene una expresión equivalente en cuanto a lógica, en las que no hay corchetes y sólo hay operandos NOT y NAND. La nueva sentencia condicional se registra en la estructura de campos y el algoritmo se modifica de modo que el procesamiento de las tablas de servicios específicas de campo y la tabla de conjuntos válidos tengan lugar correctamente.
Selección del servicio más preciso:
El principio de precisión de la identificación de servicio se altera de tal manera que el servicio con la mayor frecuencia se selecciona como válido, independientemente de si la frecuencia es la misma que la precisión del servicio. De este modo, el servicio, cuya sentencia condicional contiene las condiciones más verdaderas, pasa a ser válido. El cambio se realiza en el tratamiento del parámetro de mayor frecuencia y la tabla de conjuntos válidos.
En los métodos según la invención, también se podría haber implementado una solución más potente, es decir más rápido, que una sentencia lógica con otros algoritmos y estructuras de datos. Es decir, por ejemplo, utilizando una tabla de dispersión o algún tipo de árbol. Los métodos según la invención aplican el entendimiento de que se puede encontrar el éxito o la verdad en un conjunto de sentencias lógicas, sin examinar la verdad de todas las sentencias lógicas del grupo. El propio programa, algoritmo y estructura de datos son sólo implementaciones del susodicho entendimiento, que también podría haberse hecho de otra manera.
El método según la invención es adecuado para su aplicación en sistemas mediadores, tanto prepago como pospago, así como en sistemas convergentes.
Conceptos: Un sistema mediador es un sistema aparte de una red de telecomunicaciones, que se utiliza para supervisar la red de telecomunicaciones y realizar operaciones de apoyo, tales como la selección de precios para eventos o registros de uso.

Claims (5)

  1. REIVINDICACIONES
    1. Un método para clasificar los registros en un sistema mediador de una red de telecomunicaciones por medio de un programa informático, en cuyo método
    -
    se reciben registros de descripción de eventos de la red de telecomunicaciones, los registros contienen varios campos, que contienen valores,
    -
    de cada uno de los registros se leen (1002) los valores contenidos en por lo menos dos campos especificados,
    -
    se identifica por lo menos un campo leído,
    -
    los registros se asignan a clases sobre la base de una estructura de clasificación, y que se caracteriza porque para cada registro:
    -
    en la estructura de clasificación se busca (1001, 1004, 1007) un conjunto de clases adecuadas para cada uno de los campos leídos, que corresponde al valor leído en el campo, en donde
    -
    se selecciona (1001) una estructura de clasificación ordenada específicamente por campo, correspondiente al campo identificado,
    -
    en la estructura de clasificación ordenada específicamente por campo se busca (1004) un valor de referencia de acuerdo con el valor contenido en el campo, y
    -
    en cada una de las estructuras de clasificación seleccionadas ordenadas específicamente por campo se lee (1007) por lo menos una clase, de acuerdo con las condiciones de la estructura de clasificación, correspondiente al valor de referencia, para formar un conjunto de clases adecuadas,
    -
    se forma un conjunto de intersecciones de los conjuntos de clases adecuadas, el conjunto de intersecciones incluye más de una clase, cada una tiene una precisión definida sobre la base del número de campos utilizados en la sentencia condicional de la clase, y
    -
    la clase, a la que se asigna (1112) el registro, se selecciona del conjunto de intersecciones mediante la selección de la clase con la mayor precisión, de modo que el registro se asigna (1112) a la clase leída desde la estructura de clasificación ordenada específicamente por campo.
  2. 2. Un método según la reivindicación 1, caracterizado porque
    -
    los conjuntos se forman sobre la base de los valores de los campos, de tal manera que para cada campo se forma un conjunto de clases,
    -
    las ID de servicios, cuya condición del campo utilizada en la sentencia condicional de la clase es verdadera, se incorporan en los conjuntos específicos de campo, y
    -
    se selecciona (1111) la clase que aparece en todos los conjuntos, es decir, cuya sentencia condicional es totalmente verdadera.
  3. 3.
    Un método según la reivindicación 1 o 2, caracterizado porque los nombres de los campos se establecen para formar las entradas de la tabla, y para cada campo se crea por lo menos una tabla especifica de operando de acuerdo con por lo menos uno de los siguientes operandos, tablas mayor que ( > ), mayor o igual que ( >= ), menor que <, menor que o igual que ( <= ), igual que ( = ), y no es igual que ( !=), de modo que para cada campo especificado se crea una estructura de clasificación específica de campo similar a un árbol.
  4. 4.
    Un sistema mediador en una red de telecomunicaciones, caracterizado porque está adaptado para realizar un método según la reivindicación 1.
  5. 5.
    Un producto de programa informático, caracterizado porque está adaptado para realizar un método según la reivindicación 1, cuando se ejecuta en un ordenador.
ES04742168T 2003-07-10 2004-07-02 Método y producto de programa informático para clasificar registros de datos en un sistema mediador de una red de telecomunicaciones Expired - Lifetime ES2423429T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP03396071 2003-07-10
EP03396071A EP1496452A1 (en) 2003-07-10 2003-07-10 Method and computer program product for classification and linking data records, and a classification system
PCT/FI2004/000425 WO2005006217A1 (en) 2003-07-10 2004-07-02 Method and computer program product for classification and linking data records, and a classification system

Publications (1)

Publication Number Publication Date
ES2423429T3 true ES2423429T3 (es) 2013-09-20

Family

ID=33442896

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04742168T Expired - Lifetime ES2423429T3 (es) 2003-07-10 2004-07-02 Método y producto de programa informático para clasificar registros de datos en un sistema mediador de una red de telecomunicaciones

Country Status (6)

Country Link
US (1) US7895215B2 (es)
EP (2) EP1496452A1 (es)
AU (1) AU2004256553B2 (es)
ES (1) ES2423429T3 (es)
HK (1) HK1084206A1 (es)
WO (1) WO2005006217A1 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102378231B (zh) * 2010-08-05 2015-03-04 中国电信股份有限公司 Cdma2000核心网交换机局数据核查方法和系统
US9116947B2 (en) * 2012-03-15 2015-08-25 Hewlett-Packard Development Company, L.P. Data-record pattern searching
US9715513B2 (en) * 2014-02-19 2017-07-25 Cellos Software Limited System, method and computing apparatus to isolate a database in a database system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6246787B1 (en) * 1996-05-31 2001-06-12 Texas Instruments Incorporated System and method for knowledgebase generation and management
US6035297A (en) * 1996-12-06 2000-03-07 International Business Machines Machine Data management system for concurrent engineering
US6055539A (en) * 1997-06-27 2000-04-25 International Business Machines Corporation Method to reduce I/O for hierarchical data partitioning methods
JP3571201B2 (ja) * 1997-12-12 2004-09-29 富士通株式会社 データベース検索装置及びデータベース検索プログラムを記録したコンピュータ読み取り可能な記録媒体
IT1303603B1 (it) * 1998-12-16 2000-11-14 Giovanni Sacco Procedimento a tassonomia dinamica per il reperimento di informazionisu grandi banche dati eterogenee.
IL130894A (en) * 1999-07-12 2003-12-10 Ectel Ltd Method and system for creating combined call detail records database (cdr) in management systems of telecommunications networks
US7206775B2 (en) * 2000-07-06 2007-04-17 Microsoft Corporation System and methods for the automatic transmission of new, high affinity media
US6728728B2 (en) * 2000-07-24 2004-04-27 Israel Spiegler Unified binary model and methodology for knowledge representation and for data and information mining
US6553380B2 (en) * 2000-12-15 2003-04-22 International Business Machines Corporation Encapsulating form and function in user data in a relational database in order to eliminate database schema changes
US6662178B2 (en) * 2001-03-21 2003-12-09 Knowledge Management Objects, Llc Apparatus for and method of searching and organizing intellectual property information utilizing an IP thesaurus
US6725217B2 (en) * 2001-06-20 2004-04-20 International Business Machines Corporation Method and system for knowledge repository exploration and visualization
US7165068B2 (en) * 2002-06-12 2007-01-16 Zycus Infotech Pvt Ltd. System and method for electronic catalog classification using a hybrid of rule based and statistical method

Also Published As

Publication number Publication date
US7895215B2 (en) 2011-02-22
HK1084206A1 (en) 2006-07-21
AU2004256553A1 (en) 2005-01-20
EP1644846B1 (en) 2013-05-01
US20070047705A1 (en) 2007-03-01
WO2005006217A1 (en) 2005-01-20
AU2004256553B2 (en) 2009-11-19
EP1644846A1 (en) 2006-04-12
EP1496452A1 (en) 2005-01-12

Similar Documents

Publication Publication Date Title
Paranjape et al. Motifs in temporal networks
AU2009302657B2 (en) Detection of confidential information
CN109409641A (zh) 风险评价方法、装置、计算机设备和存储介质
CN107124391B (zh) 异常行为的识别方法及装置
CN109815238B (zh) 用严格平衡二叉树实现数据库的动态添加方法及装置
ES2423429T3 (es) Método y producto de programa informático para clasificar registros de datos en un sistema mediador de una red de telecomunicaciones
CN111159329A (zh) 敏感词检测方法、装置、终端设备和计算机可读存储介质
Vasek et al. The Bitcoin brain drain: a short paper on the use and abuse of bitcoin brain wallets
Bistarelli et al. An analysis of non-standard transactions
US20230177607A1 (en) Selection of cryptographic identifiers in a block
CN110445750A (zh) 一种车联网协议流量识别方法及装置
CN109731328A (zh) 一种基于BaaS的区块链游戏数据存储方法
CN108710798A (zh) 一种Android第三方库间共谋行为检测方法
CN108182282A (zh) 地址真实性验证方法、装置及电子设备
Pérez-Solà et al. Analysis of the SegWit adoption in Bitcoin
CN103093147B (zh) 一种识别信息的方法和电子装置
CN104994220A (zh) 一种数据处理方法和系统
Quattropani et al. On the meeting of random walks on random DFA
CN107294956A (zh) 数据标记化的冲突处理方法及装置
CN115412868A (zh) 用户话单计费方法、设备及介质、计费系统、账务系统
KR19990068397A (ko) 전화번호를이용하여전자메일주소를검색하는방법.
CN111708788A (zh) 业务单据数据的计算方法及相关设备
US20240152903A1 (en) Custom mempool protocol associated with processing of cryptographic events
CN109408534A (zh) 基于字符串唯一性与可重复性置换输出的方法
CN110633275A (zh) 一种etc交易数据滞留分析方法及装置