ES2703767T3 - Método de procesamiento de información, dispositivo de procesamiento de información, programa y medio de grabación - Google Patents
Método de procesamiento de información, dispositivo de procesamiento de información, programa y medio de grabación Download PDFInfo
- Publication number
- ES2703767T3 ES2703767T3 ES11753495T ES11753495T ES2703767T3 ES 2703767 T3 ES2703767 T3 ES 2703767T3 ES 11753495 T ES11753495 T ES 11753495T ES 11753495 T ES11753495 T ES 11753495T ES 2703767 T3 ES2703767 T3 ES 2703767T3
- Authority
- ES
- Spain
- Prior art keywords
- directory
- digit
- information
- value
- file
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Método de procesamiento de información que gestiona un directorio para almacenar información de grabación, que comprende: una etapa de obtención de información de identificación (S31, S32) para obtener información de identificación para identificar la información de grabación a partir de información de dirección URL; caracterizado por una etapa de obtención (S33, S34) para obtener un número primo correspondiente a la información de identificación obtenida entre números primos que tienen el mismo número de dígitos; una etapa de cálculo (S38 a S40) para multiplicar un valor de cada dígito de la información de identificación obtenida por un valor obtenido al restar un valor correspondiente a una posición de dicho dígito del número primo obtenido, repitiendo para cada dígito, y al calcular una suma de valores obtenida mediante la multiplicación, y una etapa de determinación (S43 a S48) para determinar el directorio para almacenar la información de grabación basándose en la suma calculada.
Description
DESCRIPCIÓN
Método de procesamiento de información, dispositivo de procesamiento de información, programa y medio de grabación
Campo técnico
La presente invención se refiere a un método de procesamiento de información, un dispositivo de procesamiento de información, un programa y un medio de grabación.
Antecedentes de la técnica
En el documento PTL1 se describe un almacenamiento de sistemas de ficheros. Un método para almacenar documentos en un sistema de ficheros de ordenador comprende generar subdirectorios de espacios hash dentro del sistema de ficheros, identificar cada subdirectorio de espacios hash con un identificador único, recibir el documento, aplicar la función hash a un nombre del documento para generar un valor hash, seleccionar un subdirectorio de espacios hash que corresponda al valor hash, generar un subdirectorio de documentos dentro del subdirectorio de espacios hash seleccionado, identificar el subdirectorio de documentos por el nombre del documento y almacenar el documento en el subdirectorio de documentos.
En el documento PTL2 se describe un sistema de servidores de ficheros redundante entre pares y métodos relacionados. Aquí, un sistema de servidores de ficheros redundante entre pares y métodos incluyen clientes que determinan un proveedor de almacenamiento objetivo con el que contactar para una transacción de almacenamiento particular basada en una ruta-nombre proporcionada por el sistema de ficheros y un esquema predeterminado tal como una función hash aplicada a una parte de la ruta. Los servidores usan el mismo esquema para determinar dónde almacenar la información de interés de ficheros de tal forma que los clientes puedan localizar la información de fichero. El proveedor de almacenamiento objetivo puede almacenar el fichero en sí y/o pueden almacenar metadatos que identifiquen a uno o más de otros proveedores de almacenamiento donde se almacena el fichero. Un fichero puede reproducirse en múltiples proveedores de almacenamiento, y los metadatos pueden incluir una lista de proveedores de almacenamiento que los clientes pueden seleccionar para acceder al fichero.
Además, el NFS (sistema de archivos de red), que es un sistema de ficheros distribuido y protocolos definidos en la RFC (solicitud de comentarios) 3530 y similares por el IETF (grupo de trabajo de ingeniería de internet), se usa de manera generalizada. El sistema de ficheros distribuido es un sistema de ficheros de red donde un único sistema de ficheros se distribuye de manera física en una pluralidad de nodos de ordenador, y el uso del NFS hace posible almacenar un fichero en un dispositivo de almacenamiento distribuido en una red y consultar un fichero del dispositivo de almacenamiento. Se requiere usar un dispositivo de almacenamiento distribuido en una red, una técnica de gestionar un área de almacenamiento de ficheros. Las siguientes bibliografías de patente se dan a conocer como una técnica de gestionar un área de almacenamiento de ficheros.
La bibliografía de patente 3 da a conocer que se incluyen una tabla que almacena los nombres de todos los ficheros que existen en un directorio con una ruta absoluta y almacena adicionalmente información sobre las áreas de almacenamiento de los respectivos ficheros en un dispositivo de almacenamiento asociado con los nombres de fichero, y un medio de búsqueda que, cuando un nombre de fichero de entrada tiene una ruta absoluta, busca la tabla usando el nombre de fichero de entrada con la ruta absoluta, y recupera la información sobre el área de almacenamiento del nombre de fichero de entrada en el dispositivo de almacenamiento. En este caso, el nombre de fichero de entrada tal y como se visualiza mediante un usuario o programa no se diferencia de un sistema de ficheros habitual que tiene una estructura jerárquica y, por tanto, puede mantenerse una estructura externa de múltiples capas y, dado que todos los nombres de fichero que existen en un directorio se gestionan en una tabla, puede hacerse una gestión de fichero plano de manera interna.
La bibliografía de patente 4 da a conocer que se incluyen un medio de gestión de entrada que modifica una tabla para gestionar la relación ancestral de entradas en el momento de registrar, eliminar o actualizar el ID de una entrada existente en una jerarquía de directorio, un medio de búsqueda con filtrado que busca una entrada por condiciones de atributo, y un medio de determinación del alcance que realiza una búsqueda de alcance limitado usando la tabla de la relación ancestral de entradas y, en el momento de la búsqueda de directorio, el medio de búsqueda con filtrado obtiene entradas que satisfacen las condiciones de atributo, y el medio de determinación del alcance reduce las entradas a la entrada que satisface las condiciones de alcance.
La bibliografía de patente 5 da a conocer que, en un procesador, una unidad de generación de índice genera un índice que indica la información de gestión de fichero de un fichero que va a leerse desde un nombre de fichero que representa el fichero que va a leerse usando una función en la que un nombre de fichero y un índice están en correspondencia uno a uno, y una unidad de asociación de información de gestión de fichero de índice lee la información de gestión de fichero correspondiente al índice generado por la unidad de generación de índice desde un vector de información de gestión de fichero en el que la información de gestión de fichero está dispuesta por orden de índice y obtiene un área de almacenamiento en un dispositivo de almacenamiento relacionado con el
fichero que va a leerse que se designa mediante la información de gestión de fichero.
La técnica anterior también incluye Shin, Dong-Keun y Arnold Charles Meltzer, "A Survey of Hash Functions and the Phenomenon of RG" (1995), que es un estudio de funciones hash conocidas, que incluye un análisis comparativo basado en criterios tales como distribución, velocidad y coste.
Lista de referencias
Bibliografía de patente
PTL1: US 2004/0236761 A1
PTL2: US 2009/0271412 A1
PTL 3: Publicación de solicitud de patente japonesa sin examinar n. ° 10-74154
PTL 4: Publicación de solicitud de patente japonesa sin examinar n. ° 2000-242538
PTL 5: Publicación de solicitud de patente japonesa sin examinar n. ° 2004-185214
Sumario de la invención
Problema técnico
En la invención dada a conocer en la bibliografía de patentes 3 a 5, es necesario registrar una tabla, un índice y similares y buscarlos, tal como buscar una tabla usando un nombre de fichero de entrada con una ruta absoluta cuando un nombre de fichero de entrada tiene una ruta absoluta y recuperar información sobre el área de almacenamiento del nombre de fichero de entrada en el dispositivo de almacenamiento, requiriendo por tanto una gran capacidad de almacenamiento y un tiempo de búsqueda.
Una forma de tratar el problema anterior es determinar una ruta usando el MD5 (algoritmo de resumen del mensaje 5), que es una función hash que emite un valor hash de 128 bits en respuesta a una entrada dada. Sin embargo, debido a los complicados cálculos que se requieren para computar el MD5, la carga en una CPU (unidad central de procesamiento) es pesada y lleva mucho tiempo. Además, el MD5 se desarrolló originalmente para la firma digital y se ha sobredimensionado para la generación de un valor de cuatro dígitos aproximadamente para designar una carpeta, y no se necesita un algoritmo tan riguroso.
La presente invención se ha realizado para resolver el problema anterior, y un objetivo de la presente invención es por tanto calcular una ruta para grabar sin disparidad rápidamente y con un simple cálculo, sin necesidad de una tabla o índice.
Solución al problema
Un método de procesamiento de información según un aspecto de la presente invención, véase la reivindicación 1, es un método de procesamiento de información que gestiona un directorio para almacenar información de grabación, que está configurada para incluir una etapa de obtención del identificador de obtener un identificador para identificar la información de grabación desde la información de dirección URL, una etapa de cálculo del valor numérico de calcular un valor numérico de una pluralidad de dígitos como representante del identificador a partir del identificador, y una etapa de determinación de calcular valores calculados usando un número entero determinado por el valor numérico y un número en un lugar de dígito del valor numérico entre sí y determinar el directorio para almacenar la información de grabación basada en un resultado de cálculo. Obsérvese que el número mencionado aquí incluye un número denotado por alfabetos además de 0 a 9 (por ejemplo, A a F en representación hexadecimal).
La etapa de cálculo del valor numérico calcula el valor numérico usando una función hash que no es una función hash perfecta. Además, la etapa de determinación puede usar un número entero diferente seleccionado a partir de un conjunto de números enteros predeterminado usando el valor numérico para el cálculo con el número en un lugar de dígito del valor numérico. Además, el método de procesamiento de información puede incluir adicionalmente una etapa de creación de crear el directorio cuando el directorio determinado en la etapa de determinación no existe. Un dispositivo de procesamiento de información según un aspecto de la presente invención, véase la reivindicación 4, es un dispositivo de procesamiento de información que gestiona un directorio para almacenar información de grabación, que está configurada para incluir una unidad de obtención de identificador que obtiene un identificador para identificar la información de grabación a partir de información de dirección URL, una unidad de cálculo de valor numérico que calcula un valor numérico de una pluralidad de dígitos representativo del identificador a partir del identificador, y una unidad de determinación que calcula valores calculados usando un número entero determinado por el valor numérico y un número en un lugar de dígito del valor numérico entre sí y determina el directorio para
almacenar la información de grabación basándose en un resultado de cálculo.
Un programa según un aspecto de la presente invención, véase la reivindicación 5, es un programa que gestiona un directorio para almacenar información de grabación, que está configurado para hacer que un ordenador ejecute una etapa de obtención del identificador de obtener un identificador para identificar la información de grabación a partir de información de dirección URL, una etapa de cálculo del valor numérico de calcular un valor numérico de una pluralidad de dígitos representativo del identificador a partir del identificador, y una etapa de determinación de calcular valores calculados usando un número entero determinado por el valor numérico y un número en un lugar de dígito del valor numérico entre sí y determinar el directorio para almacenar la información de grabación basándose en un resultado de cálculo.
Anulado.
Según los aspectos de la presente invención tal como se indicó anteriormente, un identificador para identificar información de grabación se obtiene a partir de información de dirección URL, un valor numérico de una pluralidad de dígitos representativo del identificador se calcula a partir del identificador, y valores calculados usando un número entero determinados por el valor numérico y un número en un lugar de dígito del valor numérico se calculan adicionalmente entre sí, y el directorio para almacenar la información de grabación se determina basándose en un resultado de cálculo.
Efectos ventajosos de la invención
Según un aspecto de la presente invención, dado que es posible determinar un directorio a partir de la información de una dirección URL, es posible calcular una ruta para grabar sin disparidad rápidamente y con un simple cálculo, sin necesidad de una tabla o índice. Además, es posible obtener excepcionalmente un directorio a partir de una URL y almacenar un fichero de una manera distribuida en directorios independientemente de la disparidad de un valor numérico de una pluralidad de dígitos representativo de un identificador.
Breve descripción de los dibujos
La figura 1 es un diagrama que muestra un ejemplo de una configuración de un sistema de suministro de información según una realización de la presente invención.
La figura 2 es un diagrama de bloques que muestra un ejemplo de una configuración de hardware de un servidor web 11.
La figura 3 es un diagrama de bloques que muestra un ejemplo de una configuración de funciones implementada por el servidor web 11 que ejecuta un programa.
La figura 4 es un diagrama que ilustra un ejemplo de una ruta.
La figura 5 es un diagrama que muestra un ejemplo de datos grabados como un fichero en un grupo de servidores 13.
La figura 6 es un diagrama de flujo que ilustra un proceso de grabar un fichero.
La figura 7 es un diagrama de flujo que ilustra detalles de un proceso de determinar una ruta. La figura 8 es un diagrama de flujo que ilustra detalles de un proceso de determinar una ruta. La figura 9 es un diagrama de flujo que ilustra un proceso de leer un fichero.
La figura 10 es un diagrama que muestra un tiempo de cálculo y el máximo número de ficheros grabados en un directorio.
La figura 11 es un diagrama que muestra una distribución del número de ficheros grabados en un directorio según esta realización.
La figura 12 es un diagrama que muestra una distribución del número de ficheros grabados en un directorio según la técnica relacionada.
Descripción de realizaciones
A continuación, se describirán las realizaciones de la presente invención. La relación entre elementos de la invención y realizaciones descritas en la memoria descriptiva es la siguiente, por ejemplo. Esta descripción pretende simplemente indicar que las realizaciones que apoyan la invención se describen en esta memoria descriptiva. Por
tanto, aunque haya realizaciones que se describen en esta memoria descriptiva pero no se describen en esta descripción como realizaciones que corresponden a los elementos de la invención, esto no implica que las realizaciones no correspondan a los elementos de la invención. Por el contrario, aunque se describan realizaciones en esta descripción como aquellas que corresponden a los elementos de la invención, esto no implica que las realizaciones no correspondan a elementos distintos de los elementos de la invención.
Un programa según un aspecto de la presente invención provoca que un ordenador ejecute un proceso que incluya una etapa de obtención de información de identificación (por ejemplo, el procesamiento de la etapa S31 en la figura 7) de obtener información de identificación para identificar información de grabación que va a grabarse o leerse, una etapa de obtención de número primo (por ejemplo, el procesamiento de las etapas S33 y S34 en la figura 7) de obtener un número primo correspondiente a la información de identificación entre números primos que tienen el mismo número de dígitos (por ejemplo, tres dígitos), una etapa de cálculo (por ejemplo, el procesamiento de las etapas S38 a S42 en la figura 7) de calcular la suma total de productos obtenidos al multiplicar un valor de cada dígito de la información de identificación por una diferencia obtenida al restar una diferencia según el dígito (por ejemplo, el número de dígitos desde el principio - 1) a partir del número primo obtenido, que es la suma total para todos los dígitos de la información de identificación, y una etapa de determinación (por ejemplo, procesamiento de las etapas S43 a S48 en la figura 8) de determinar una ruta que indique un directorio donde se almacene la información de grabación a partir de la suma total.
El programa puede provocar que un ordenador ejecute un proceso que incluya adicionalmente una etapa de creación (por ejemplo, el procesamiento de la etapa S14 en la figura 6) de, cuando un directorio indicado por la ruta determinada no exista, crear el directorio indicado por la ruta.
Un dispositivo de procesamiento de información según un aspecto de la presente invención incluye un medio de obtención de información de identificación (por ejemplo, una unidad de obtención de información de identificación 74 en la figura 3) que obtiene información de identificación para identificar información de grabación que va a grabarse o leerse, un medio de obtención de número primo (por ejemplo, una unidad de obtención de números primos 75 en la figura 3) que obtiene un número primo correspondiente a la información de identificación entre números primos que tienen el mismo número de dígitos (por ejemplo, tres dígitos), una unidad de cálculo (por ejemplo, una unidad de cálculo 76 en la figura 3) que calcula la suma total de productos obtenidos al multiplicar un valor de cada dígito de la información de identificación por una diferencia obtenida al restar una diferencia según el dígito (por ejemplo, el número de dígitos desde el principio - 1) a partir del número primo obtenido, que es la suma total para todos los dígitos de la información de identificación, y un medio de determinación (por ejemplo, una unidad de determinación de ruta 77 en la figura 3) que determina una ruta que indica un directorio donde se almacena la información de grabación a partir de la suma total.
Un método de procesamiento de información según un aspecto de la presente invención incluye una etapa de obtención de información de identificación (por ejemplo, el procesamiento de la etapa S31 en la figura 7) de obtener información de identificación para identificar información de grabación que va a grabarse o leerse, una etapa de obtención de número primo (por ejemplo, el procesamiento de las etapas S33 y S34 en la figura 7) de obtener un número primo correspondiente a la información de identificación entre números primos que tengan el mismo número de dígitos (por ejemplo, tres dígitos), una etapa de cálculo (por ejemplo, el procesamiento de las etapas S38 a S42 en la figura 7) de calcular la suma total de productos obtenidos al multiplicar un valor de cada dígito de la información de identificación por una diferencia obtenida al restar una diferencia según el dígito (por ejemplo, el número de dígitos desde el principio - 1) a partir del número primo obtenido, que es la suma total para todos los dígitos de la información de identificación, y una etapa de determinación (por ejemplo, el procesamiento de las etapas S43 a S48 en la figura 8) de determinar una ruta indicando un directorio donde se almacena la información de grabación a partir de la suma total.
La figura 1 es un diagrama que muestra un ejemplo de una configuración de un sistema de suministro de información según una realización de la presente invención. El sistema de suministro de información se compone de un servidor web 11, una red 12 y un grupo de servidores 13, y proporciona datos de páginas web a cada uno de los clientes 22-1 a 22-3 a través de Internet 21.
En respuesta a una petición de los clientes 22-1 a 22-3, el servidor web 11 transmite datos de páginas web al cliente desde el que se ha hecho la petición a través de Internet 21. Por ejemplo, el servidor web 11 transmite datos de páginas web para comercio electrónico para vender artículos o similares a los clientes 22-1 a 22-3 a través de Internet 21.
En este momento, el servidor web 11 lee diversos tipos de datos almacenados como ficheros desde el grupo de servidores 13 que proporciona un área de almacenamiento a través de la red 12. Además, el servidor web 11 almacena diversos datos como ficheros en el grupo de servidores 13 a través de la red 12.
Cuando se graba un fichero en el grupo de servidores 13 o se lee un fichero del grupo de servidores 13, el servidor web 11 determina una ruta que indica un directorio donde se almacena el fichero. A la red 12 se le denomina red interna, que es una red de banda ancha tal como Ethernet de 10 Gigabits (marca registrada). La red 12 establece
una conexión entre el servidor web 11 y el grupo de servidores 13.
El grupo de servidores 13 está compuesto de un servidor NFS de 14-1 a un servidor NFS de 14-N (N es un número entero positivo). Las áreas de almacenamiento respectivas de los servidores NFS de 14-1 a 14-N se montan como un área de almacenamiento y están configuradas de tal forma que los datos pueden almacenarse y leerse como un área de almacenamiento. En otras palabras, el servidor web 11 puede gestionar el área de almacenamiento del grupo de servidores 13 compuesto de los servidores NFS de 14-1 a 14-N prácticamente como si fuese su propia área de almacenamiento.
La figura 2 es un diagrama de bloques que muestra un ejemplo de una configuración de hardware del servidor web 11.
En el servidor web 11, una CPU (unidad central de procesamiento) 31, una ROM (memoria de solo lectura) 32 y una RAM (memoria de acceso aleatorio) 33 están conectadas entre sí a través de un bus 34.
Una interfaz de entrada/salida 35 está conectada adicionalmente al bus 34. A la interfaz de entrada/salida 35 están conectadas una unidad de entrada 36 tal como un teclado, un ratón o un micrófono, una unidad de salida 37 tal como una pantalla o un altavoz, una unidad de almacenamiento 38 tal como un disco duro o una memoria no volátil, una unidad de comunicación 39 tal como una interfaz de red, y una unidad de disco 40 que acciona un medio extraíble 41 tal como un disco magnético, un disco óptico, un disco magneto-óptico o una memoria semiconductora. En el servidor web 11 (ordenador) que tiene la configuración anterior, la CPU 31 carga un programa almacenado en la unidad de almacenamiento 38 a la RAM 33 a través de la interfaz de entrada/salida 35 y el bus 34 y ejecuta el programa, de tal forma que se realizan una serie de procesos descritos posteriormente.
El programa ejecutado por el servidor 11 (CPU 31) se proporciona al grabarse en el medio extraíble 41 que es un soporte de paquetes como un disco magnético (incluyendo el disco flexible), un disco óptico (CD-ROM (disco compacto-memoria de solo lectura) o un DVD (disco versátil digital)), un disco magneto-óptico o una memoria semiconductora, o proporcionado a través de un medio de transmisión por cable o inalámbrico tal como una red de área local, Internet 21, la red 12 o la difusión digital por satélite.
El programa puede instalarse en un ordenador al, con el medio extraíble 41 vinculado a la unidad de disco 41, almacenarse en la unidad de almacenamiento 38 a través de la interfaz de entrada/salida 35. Además, el programa puede instalarse en un ordenador al recibirse mediante la unidad de comunicación 39 a través de un medio de transmisión por cable o inalámbrico y almacenarse en el medio de almacenamiento 38. Además, el programa puede instalarse previamente en un ordenador al almacenarse previamente en la ROM 32 o en la unidad de almacenamiento 38.
La figura 3 es un diagrama de bloques que muestra un ejemplo de una configuración de funciones implementada por el servidor web 11 que ejecuta un programa. Específicamente, el servidor web 11 ejecuta un programa y así se implementan una función de servidor web 51, una unidad de generación de datos de páginas 52, una unidad de configuración de página 53 y una unidad de control de lectura/escritura de ficheros 54.
La función de servidor web 51 se implementa al ejecutar un denominado programa de servidor web tal como Apache HTTP Server, por ejemplo, y proporciona datos de páginas web en formato HTML (lenguaje de marcas de hipertexto) o en formato XML (lenguaje extensible de marcas) que contiene diversos objetos que incluyen texto e imágenes basándose en el procedimiento especificado en HTTP (protocolo de transferencia de hipertexto).
La unidad de generación de datos de páginas 52 genera los datos de páginas web que se proporcionan mediante la función de servidor web 51. La unidad de configuración de página 53 configura diversos datos tales como imágenes y texto que van a exponerse en una página web para proporcionarse a cada uno de los clientes 22-1 a 22-3.
La unidad de control de lectura/escritura de ficheros 54 almacena diversos datos tales como imágenes y texto que van a exponerse en una página web como ficheros en el grupo de servidores 13 a través de la red 12 en respuesta a una petición de la unidad de configuración de página 53. Además, cuando se proporciona una página web a cada uno de los clientes 22-1 a 22-3, la unidad de control de lectura/escritura de ficheros 54 lee diversos datos tales como imágenes y texto que van a exponerse en una página web del grupo de servidores 13 a través de la red 12 en respuesta a una petición de la unidad de generación de datos de páginas 52.
Cuando se graba un fichero en el grupo de servidores 13 o se lee un fichero del grupo de servidores 13 a través de la red 12, la unidad de control de lectura/escritura de ficheros 54 determina una ruta que indica un directorio y un nombre del fichero donde se graba el fichero. El directorio indicado por la ruta es una unidad de grabación que representa el área de almacenamiento del grupo de servidores 13 mediante una estructura jerárquica de árbol. Uno o una pluralidad de ficheros se almacenan en cada directorio.
La figura 4 es un diagrama que ilustra un ejemplo de una ruta en el caso de grabar datos relativos a un artículo que
aparece en una página web de comercio electrónico como un fichero. Para cada dirección (#{shop_url} en la figura 4) en forma de URL (localizador uniforme de recursos) de una página web que vende artículos, la información del artículo (#{manage_numberl}_item.xml en la figura 4) relativa a un artículo (artículo en la figura 4) que aparece en la página web y la información de inventario (#{manage_numberl}_inv.xml en la figura 4) que indica si hay inventario de ese artículo se almacenan en un directorio dado. En este momento, como información de identificación (identificador) para identificar la información del artículo y la información de inventario, se calcula un valor inicial de ruta M que indica un directorio para almacenar la información del artículo y la información de inventario a partir de un número de gestión del artículo #{manage_numberl} del artículo. Además, el valor inicial de ruta M que indica un directorio para almacenar la información del artículo y la información de inventario puede calcularse a partir de un número de gestión del artículo que está contenido en la información de dirección en forma de URL.
Cuando se supone que el valor inicial de ruta M es 5D79..., una ruta se determina a partir de 5D79, que es el orden superior de cuatro dígitos del valor inicial de ruta M. Específicamente, a medida que se determina un directorio para almacenar la información del artículo y la información de inventario, un directorio de orden superior, 5D, y se determina un directorio de orden inferior, 79, que es el orden inferior del directorio de orden superior 5D, y entonces la información del artículo y la información de inventario se almacenan en el directorio de orden inferior 79, que es el orden inferior del directorio de orden superior 5D. En este caso, la unidad de control de lectura/escritura de ficheros 54 determina una ruta que indica el directorio de orden superior 5D y el directorio de orden inferior 79. Obsérvese que, en este caso, la información de disposición se almacena por separado. Aunque se describe el caso de determinar una ruta usando el orden superior de cuatro dígitos del valor inicial de ruta M, una ruta puede determinarse usando más de cuatro dígitos.
La figura 5 es un diagrama que muestra un ejemplo de datos relativos a un artículo que aparece en una página web de comercio electrónico, que se almacena como un fichero en un grupo de servidores 13. Por ejemplo, en el caso donde la descripción de artículo, la imagen de artículo, el vídeo de artículo, el nombre de artículo, la información del artículo, la forma y la descripción para cada método de ventas se exponen en una página web de comercio electrónico, los datos de la descripción de artículo en la página web se generan mediante la parte de descripción del artículo (datos de descripción del artículo) y la información del artículo (XML de información del artículo en la figura 5 (#{manage_numberl}_item.xml en la figura 4)) que se almacena como un fichero F en el grupo de servidores 13, y datos de la información del artículo en la página web se generan mediante la parte de descripción del artículo (datos de descripción del artículo), la información del artículo (XML de información del artículo en la figura 5) que se almacena como el fichero F en el grupo de servidores 13 y la información de inventario (XML de información de inventario en la figura 5 (#{manage_numberl}_inv.xml en la figura 4)).
Del mismo modo, la imagen de artículo, el vídeo de artículo, el nombre de artículo, la forma y la descripción para cada método de ventas en la página web se generan usando la información del artículo (XML de información del artículo) que se almacena como un fichero en el grupo de servidores 13. Además, los datos de navegación y el pie de página (no mostrados) en la página web se generan usando la información del artículo (XML de información del artículo) que se almacena como un fichero en el grupo de servidores 13.
Haciendo referencia de nuevo a la figura 3, la unidad de control de lectura/escritura de ficheros 54 incluye una unidad de control de grabación 71, una unidad de creación de directorios 72, una unidad de control de lectura 73, una unidad de obtención de información de identificación 74 (unidad de obtención de identificador), una unidad de obtención de números primos 75, una unidad de cálculo 76 (unidad de cálculo de valor numérico), una unidad de determinación de ruta 77 (unidad de determinación) y una unidad de almacenamiento de tablas de números primos 78. La unidad de control de grabación 71 controla la grabación de diversos tipos de datos como un fichero en el grupo de servidores 13 a través de la red 12 basándose en el protocolo del sistema de ficheros distribuido. La unidad de creación de directorios 72 crea un directorio cuando no hay un directorio donde un fichero tiene que grabarse en el área de almacenamiento del grupo de servidores 13.
La unidad de control de lectura 73 controla la lectura de un fichero del grupo de servidores 13 a través de la red 12 basándose en el protocolo del sistema de ficheros distribuidos. La unidad de obtención de información de identificación 74 obtiene información de identificación para identificar los datos (información de grabación) que van a grabarse o leerse como un fichero. Específicamente, en el caso de grabar o leer datos relativos a un artículo que aparece en una página web de comercio electrónico como un fichero, por ejemplo, la información de identificación es un número de gestión de artículos que define al artículo.
La unidad de obtención de números primos 75 obtiene un número primo correspondiente a la información de identificación obtenida entre números primos del mismo número de dígitos que se almacenan en la unidad de almacenamiento de tablas de números primos 78. La unidad de cálculo 76 calcula la suma total de productos obtenida al multiplicar un valor de cada dígito de la información de identificación por una diferencia obtenida al restar una diferencia según el dígito del número primo obtenido, que es la suma total para todos los dígitos de la información de identificación. El cálculo de la suma total por la unidad de cálculo 76 se describe en detalle posteriormente.
La unidad de determinación de ruta 77 determina una ruta que indica un directorio donde van a almacenarse datos
(información de grabación) como un fichero a partir de la suma total calculada por la unidad de cálculo 76. La unidad de almacenamiento de tablas de números primos 78 almacena una tabla de números primos en la que se disponen números primos del mismo número de dígitos. Específicamente, la unidad de almacenamiento de tablas de números primos 78 almacena una tabla de números primos en la que se disponen números primos (números primos de tres dígitos) en el lugar de las centenas desde 101 a 997. Los números primos en la tabla de números primos se disponen en orden de magnitud o aleatoriamente. Obsérvese que el número de dígitos de números primos no se limita a tres, y puede ser cualquier número como dos, cuatro, cinco o seis. Además, los números primos pueden disponerse en un vector o estar dispuestos mediante punteros.
Los procesos de grabar un fichero y leer un fichero mediante el servidor web 11 se describen a continuación en el presente documento con referencia a las figuras 6 a 9.
En primer lugar, se describe el proceso de almacenamiento de ficheros. El proceso de grabar un fichero se realiza cuando la unidad de configuración de página 53 solicita a la unidad de control de lectura/escritura de ficheros 54 grabar información del artículo que va a colocarse en una página web como un fichero en el grupo de servidores 13 a través de la red 12, por ejemplo.
La figura 6 es un diagrama de flujo que ilustra un proceso de grabar un fichero. Cuando se hace una petición de grabar un fichero de datos que va a colocarse en una página web en el grupo de servidores 13 a partir de la unidad de configuración de página 53, el fichero se suministra desde la unidad de configuración de página 53 y, en la etapa S11, la unidad de control de lectura/escritura de ficheros 54 obtiene el fichero que va a grabarse. En la etapa S12, la unidad de control de lectura/escritura de ficheros 54 realiza un proceso de determinar una ruta. El proceso de determinación de ruta se describe en detalle posteriormente con referencia a los diagramas de flujo de las figuras 7 y 8.
En la etapa S13, la unidad de control de grabación 71 de la unidad de control de lectura/escritura de ficheros 54 determina si hay o no un directorio indicado por la ruta determinada en el grupo de servidores 13. Cuando se determina en la etapa S13 que el directorio indicado por la ruta determinada no existe en el grupo de servidores 13, el proceso pasa a la etapa S14, y la unidad de creación de directorios 72 crea un directorio en el grupo de servidores 13 al dar una instrucción de crear un directorio indicado por la ruta determinada al grupo de servidores 13 a través de la red 12 basándose en el protocolo del sistema de ficheros distribuido. Después de la etapa S14, el proceso pasa a la etapa S15.
Por otro lado, cuando se determina en la etapa S13 que el directorio indicado por la ruta determinada existe en el grupo de servidores 13, no es necesario crear un directorio y, por tanto, el proceso omite la etapa S14 y pasa a la etapa S15.
En la etapa S15, la unidad de control de grabación 71 graba un fichero dentro de un directorio del grupo de servidores 13 que se indica por la ruta determinada, y con ello acaba el proceso de grabar un fichero.
El proceso de determinación de ruta en la etapa S12 se describe a continuación en el presente documento en detalle con referencia a los diagramas de flujo de las figuras 7 y 8. En la etapa S31, la unidad de obtención de información de identificación 74 obtiene un número de gestión de artículos, que es un ejemplo de la información de identificación. El número de gestión de artículos es un número que define a un artículo indicado por la información del artículo para la que se graba un fichero. Por ejemplo, en la etapa S31, la unidad de obtención de información de identificación 74 obtiene el número de gestión de artículos ABC-001 al extraer el número a partir del fichero suministrado desde la unidad de configuración de página 53. Además, en la etapa S31, la unidad de obtención de información de identificación 74 obtiene el número de gestión de artículos ABC-001 que se suministra como un nombre de fichero desde la unidad de configuración de página 53, por ejemplo. Además, en la etapa S31, la unidad de obtención de información de identificación 74 obtiene el número de gestión de artículos ABC-001 al extraer el número desde una dirección en forma de URL que se suministra desde la unidad de configuración de página 53, por ejemplo. Obsérvese que la unidad de obtención de información de identificación 74 puede obtener la información de identificación tal como el número de gestión de artículos desde una base de datos interna o externa del servidor web 11, tal como una base de datos de artículos (no mostrada) que almacena datos relativos a artículos.
En la etapa S32, la unidad de cálculo 76 aplica una función hash simple al número de gestión de artículos obtenido. Obsérvese que la unidad de cálculo 76 puede usar una función que genere un valor numérico (por ejemplo, un número entero de una pluralidad de dígitos) que sirva como representante de datos originales (identificador) de los datos originales, no sólo una función hash simple. La función hash simple significa que no es una función hash perfecta que emite diferentes valores hash para una entrada correcta. Específicamente, en la etapa S32, la unidad de cálculo 76 aplica una función hash que está contenida en la biblioteca estándar de C++, que es un lenguaje de programación del número de gestión del artículo, por ejemplo. Más específicamente, en la etapa S32, la unidad de cálculo 76 aplica una función hash simple al número de gestión del artículo ABC-001 y de esa forma obtiene un valor hash de 489014746, por ejemplo.
En la etapa S33, la unidad de obtención de números primos 75 divide el valor hash obtenido en la etapa S32 entre
133 y de esa forma obtiene el resto. El divisor (método) que divide el valor hash es un número que no es mayor que 143 y suficientemente grande (por ejemplo, 100 o más). 143 es el número de números primos (números primos de tres dígitos) en el lugar de las centenas desde 101 a 997.
Por ejemplo, en la etapa S33, la unidad de obtención de números primos 75 divide el valor hash 489014746 entre 133 y obtiene el resto, 80.
En la etapa S34, la unidad de obtención de números primos 75 obtiene un número primo a en la posición indicada por el resto a partir de la tabla de números primos en la que están dispuestos los números primos en el lugar de las centenas y que se almacena de antemano en la unidad de almacenamiento de tablas de números primos 78. Específicamente, cuando el resto es 80, la unidad de obtención de números primos 75 obtiene un número primo 631 que está ubicado en el lugar octogésimo en la unidad de almacenamiento de tablas de números primos 78 como un número primo a a partir de la unidad de almacenamiento de tablas de números primos 78.
En la etapa S35, la unidad de cálculo 76 convierte el valor hash obtenido en la etapa S32 en un número hexadecimal. Por ejemplo, en la etapa S35, la unidad de cálculo 76 convierte el valor hash 489014746 en un número hexadecimal, 1d25c5da. Como resultado de la conversión en dígitos hexadecimales, el cálculo descrito a continuación puede realizarse con un número de dígitos reducido.
En la etapa S36, la unidad de cálculo 76 configura un valor inicial 0 a una variable de indicador de dígito n, que es una variable que indica un dígito. En la etapa S37, la unidad de cálculo 76 configura el número primo a obtenido en la etapa S34 a un valor inicial de ruta M. El valor inicial de ruta M es un valor que determina una ruta, que se calcula usando el número primo a y el número de gestión del artículo. Por ejemplo, en la etapa S37, la unidad de cálculo 76 configura el número primo a=631 al valor inicial de ruta M.
En la etapa S38, la unidad de cálculo 76 extrae un valor b en el (n+1)-ésimo lugar del dígito desde el principio del valor hash en representación hexadecimal. Por ejemplo, en la etapa S38 que se ejecuta por primera vez, dado que la variable de indicador de dígito n es 0, la unidad de cálculo 76 extrae el valor b=1 que es el dígito del principio del valor hash en representación hexadecimal. Además, en la etapa S38 que se ejecuta por tercera vez por repetición, dado que la variable de indicador de dígito n es 2, la unidad de cálculo 76 extrae el valor b=2 que es el tercer dígito desde el principio del valor hash en representación hexadecimal.
En la etapa S39, la unidad de cálculo 76 convierte el valor b extraído en la etapa S38 en un número decimal. En la etapa S40, la unidad de cálculo 76 resta la variable de indicador de dígito n al número primo a y después multiplica una diferencia obtenida como resultado por el valor b en representación decimal. La unidad de cálculo 76 suma el producto obtenido como resultado de la multiplicación por el valor inicial de ruta M. En otras palabras, en la etapa S40, la unidad de cálculo 76 calcula el valor b * (el número primo a - la variable de indicador de dígito n) y suma su resultado al valor inicial de ruta M. Aunque la diferencia según un dígito es la variable de indicador de dígito n en este caso, el valor b * (el número primo a - la variable de indicador de dígito n * la constante k) puede calcularse usando una constante k que es un número entero arbitrario (por ejemplo, cualquiera de -3, -2, -1, 2, 3 y similares). En la etapa S41, la unidad de cálculo 76 incrementa la variable de indicador de dígito n en uno. En la etapa S42, la unidad de cálculo 76 determina si el último dígito se extrae del valor hash en representación hexadecimal. Cuando determina que el último dígito no se extrae, dado que queda un dígito por extraer, el proceso vuelve a S38 y repite el procesamiento descrito anteriormente en el siguiente dígito.
Como resultado de repetir el procesamiento de las etapas S38 a S40, el número de gestión del artículo se multiplica por el número primo a dígito a dígito, y el número primo a se resta entonces uno a uno, y se calcula la suma total. Por ejemplo, cuando el número primo a es 631 y el valor hash en representación hexadecimal es 1d25c5da, el valor inicial de ruta M se configura a 631 en el procesamiento de la etapa S37, y 631, que se calcula a partir de 1*631 usando el número primo a y el valor b=1 en el dígito del principio del valor hash en representación hexadecimal, se suma al valor inicial de ruta M en el procesamiento de las etapas S38 a S40 ejecutadas por primera vez. Entonces, en el procesamiento de las etapas S38 a S40 ejecutadas después, 8190, que se calcula a partir de 13*(631-1) usando el número primo a y un valor d en el segundo dígito desde el principio del valor hash en representación hexadecimal, que es el valor b=13 en representación decimal, se suma al valor inicial de ruta M.
Del mismo modo, al repetir el procesamiento de las etapas S38 a S40, 1258, que se calcula a partir de 2*(631-2) usando el número primo a y el valor b=2 en el tercer dígito desde el principio del valor hash en representación hexadecimal, se suma al valor inicial de ruta M, 3140, que se calcula a partir de 5*(631-3) usando el número primo a y el valor b=5 en el cuarto dígito desde el principio del valor hash en representación hexadecimal, se suma al valor inicial de ruta M, y 7524, que se calcula a partir de 12*(631-4) usando el número primo a y un valor c en el quinto dígito desde el principio del valor hash en representación hexadecimal, que es el valor b=12 en representación decimal, se suma al valor inicial de ruta M. Además, al repetir el procesamiento de las etapas S38 a S40, 3130, que se calcula a partir de 5*(631-5) usando el número primo a y el valor b=5 en el sexto dígito desde el principio del valor hash en representación hexadecimal, se suma al valor inicial de ruta M, 8125, que se calcula a partir de
13*(631-6) usando el número primo a y un valor d en el séptimo dígito desde el principio del valor hash en representación hexadecimal, que es el valor b=13 en representación decimal, se suma al valor inicial de ruta M, y 6420, que se calcula a partir de 10*(631-7) usando el número primo a y un valor a en el último dígito del valor hash en representación hexadecimal, que es el valor b=10 en representación decimal, se suma al valor inicial de ruta M. Como resultado del cálculo anterior, se obtiene el valor inicial de ruta M =38869.
Cuando se determina en la etapa S42 que se extrae el último dígito, dado que no queda ningún dígito por extraer, el proceso pasa a la etapa S43 y la unidad de determinación de ruta 77 determina si el valor inicial de ruta M es 4096 o menos. Cuando se determina en la etapa S43 que el valor inicial de ruta M es 4096 o menos, el proceso pasa a la etapa S44 y la unidad de determinación de ruta 77 multiplica el valor inicial de ruta M por 50. El motivo por el que el valor inicial de ruta M se multiplica por 50 cuando es 4096 o menos es para hacer que el valor inicial de ruta M tenga cuatro dígitos o más cuando se convierta en un número hexadecimal. Después de la etapa S44, el proceso pasa a la etapa S45.
Cuando se determina en la etapa S43 que el valor inicial de ruta M no es 4096 o menos, es decir, que el valor inicial de ruta M es más de 4096, el proceso omite la etapa S44 y pasa a la etapa S45.
En la etapa S45, la unidad de determinación de ruta 77 convierte el valor inicial de ruta M en un número hexadecimal. Por ejemplo, en la etapa S45, la unidad de determinación de ruta 77 convierte el valor inicial de ruta M =38869 en el valor inicial de ruta M =97D5 en representación hexadecimal. Obsérvese que el uso de una ruta hexadecimal permite un mejor manejo de un valor más grande que de un número decimal con los mismos dígitos, facilitando por tanto una distribución más amplia de un directorio donde se almacena un fichero comparado con el caso de usar una ruta decimal.
En la etapa S46, la unidad de determinación de ruta 77 invierte el valor inicial de ruta M en representación hexadecimal de tal forma que el dígito del límite superior y el dígito del límite inferior se intercambian las posiciones. Por ejemplo, en la etapa S46, la unidad de determinación de ruta 77 aplica la función inversa al valor inicial de ruta M de tal forma que el valor inicial de ruta M se dispone en orden inverso. Específicamente, en la etapa S46, la unidad de determinación de ruta 77 invierte el valor inicial de ruta M =97D5 en M=5D79.
En la etapa S47, la unidad de determinación de ruta 77 extrae el orden superior de cuatro dígitos del valor inicial de ruta M invertido. En la etapa S48, la unidad de determinación de ruta 77 determina una ruta al configurar el orden superior de dos dígitos entre los cuatro dígitos extraídos para indicar un directorio de orden superior y el orden inferior de dos dígitos para indicar un directorio de orden inferior y configurar el número de gestión del artículo como un nombre de fichero, y con ello acaba el proceso de determinación de ruta.
Por ejemplo, en la etapa S48, la unidad de determinación de ruta 77 configura el orden superior 5D entre el valor inicial de ruta M =5D79 para indicar un directorio de orden superior y el orden inferior 79 para indicar un directorio de orden inferior y configura adicionalmente el número de gestión del artículo como un nombre de fichero, y con ello determina "/5D/79/número de gestión del artículo" como una ruta.
De esta manera, es posible calcular una ruta para grabar sin disparidad rápidamente y con un simple cálculo. Además, es posible evitar la situación donde una ruta es demasiado complicada para encontrar en qué carpeta debe almacenarse un fichero y hacer más fácil el mantenimiento tal como la transferencia de datos futura.
A continuación se describe la lectura de un fichero. Por ejemplo, en el caso donde se solicita una página web desde cada uno de los clientes 22-1 a 22-3, cuando la unidad de generación de datos de páginas 52 que genera datos de la página web solicita a la unidad de control de lectura/escritura de ficheros 54 leer un fichero desde el grupo de servidores 13 a través de la red 12, se realiza un proceso de leer un fichero.
La figura 9 es un diagrama de flujo que ilustra un proceso de leer un fichero. Cuando se hace una petición para leer un fichero desde el grupo de servidores 13 a través de la red 12 desde la unidad de generación de datos de páginas 52, una dirección en forma de URL, un número de gestión de artículo que indica un nombre de fichero correspondiente al mismo o similar se suministra desde la unidad de generación de datos de páginas 52 y, en la etapa S71, la unidad de control de lectura/escritura de ficheros 54 obtiene el nombre de fichero del fichero que va a leerse. Por ejemplo, la unidad de control de lectura/escritura de ficheros 54 puede obtener el nombre de fichero (número de gestión de artículo) a partir de la información de caracteres contenida en la dirección en forma de URL de la página web. En la etapa S72, la unidad de control de lectura/escritura de ficheros 54 realiza un proceso de determinar una ruta. El proceso de determinación de ruta en la etapa S72 es el mismo que el proceso en la etapa S12 y no se describe de manera redundante.
En la etapa S73, la unidad de control de lectura 73 de la unidad de control de lectura/escritura de ficheros 54 lee un fichero de un directorio del grupo de servidores 13 que se indica mediante la ruta determinada, y con ello acaba el proceso de leer un fichero.
Tal como se describió anteriormente, no se necesita una tabla, un índice o similares para la lectura de un fichero. Además, en el momento de visualizar una página web en un terminal de usuario o similar, los datos pueden guardarse en un fichero en una estructura jerárquica de una manera sencilla sin visualizar un nivel jerárquico en el que la información del artículo o similar se ubica en la URL visualizada. Además, dado que no es necesario especificar una ruta detallada en la URL, la URL visualizada puede acortarse. Como resultado de acortar la URL, se hacen más fáciles la visualización, el reconocimiento y la gestión.
En otras palabras, es posible formar una jerarquía de múltiples niveles usando una URL en el estado en que la URL en sí no tiene una jerarquía. Por ejemplo, en la dirección URL mostrada en la figura 4, no es necesario visualizar (http://sss.hh.co.jp/SHOP_URL/ITEM_URL/), y no es necesario generar /00/xx/ en (http:// sss.hh.co.jp/SHOP_URL/00/xx/iTEM_URL/) en el método de procesamiento de información según esta realización. En la técnica existente, es necesario generar /00/xx/ y gestionarlo al hacer una asociación usando un fichero de gestión tal como una base de datos. Además, cuando se hace una referencia, es necesario realizar un proceso con el fin de obtener una URL, realizar el procesamiento de APP, haciendo referencia a un fichero de gestión, hacer una consulta, especificar un directorio y hacer referencia a un fichero. Por otro lado, en la técnica de esta realización, es posible encontrar un fichero sólo con información de dirección URL mediante un proceso más sencillo de obtener una URL, realizar procesamiento de APP, especificar un directorio y hacer referencia a un fichero.
Un resultado de comparación entre el método existente usando MD5 y el método de esta realización se describe con referencia a las figuras 10 a 12.
La figura 10 es un diagrama que muestra un tiempo de cálculo que ha llevado a determinar una ruta y el máximo número de ficheros grabados en un directorio. El tiempo de cálculo mostrado en el mismo es el tiempo de cálculo promedio de 5 veces de cálculo.
En primer lugar, comparando el caso de determinar una ruta a partir de tres millones de números de gestión del artículo donde se unen con un guion caracteres alfanuméricos de tres dígitos y valores numéricos de siete dígitos, mientras que se requería en el método descrito en esta realización un tiempo de cálculo de 15.025 ms y que el máximo número de ficheros grabados en un directorio fuese 78, en el método existente usando MD5 se requería un tiempo de cálculo de 39.669 ms y que el máximo número de ficheros grabados en un directorio fuese 83. Además, comparando el caso de determinar una ruta a partir de dos millones de números de gestión del artículo donde se unen con un guion caracteres alfanuméricos de tres dígitos y valores numéricos de siete dígitos, mientras que se requería en el método descrito en esta realización un tiempo de cálculo de 9.809 ms y que el máximo número de ficheros grabados en un directorio fuese 61, en el método existente usando MD5 se requería un tiempo de cálculo de 26.542 ms y que el máximo número de ficheros grabados en un directorio fuese 54.
Además, comparando el caso de determinar una ruta a partir de un millón de números de gestión del artículo donde se unen con un guion caracteres alfanuméricos de tres dígitos y valores numéricos de siete dígitos, mientras que se requería en el método descrito en esta realización un tiempo de cálculo de 5.082 ms y que el máximo número de ficheros grabados en un directorio fuese 37, en el método existente usando MD5 se requería un tiempo de cálculo de 13.733 ms y que el máximo número de ficheros grabados en un directorio fuese 34.
Además, comparando el caso de determinar una ruta a partir de 24.946 números de gestión del artículo relativos a películas, mientras que se requería en el método descrito en esta realización un tiempo de cálculo de 106 ms y que el máximo número de ficheros grabados en un directorio fuese 5, en el método existente usando MD5 se requería un tiempo de cálculo de 407 ms y que el máximo número de ficheros grabados en un directorio fuese 5. Además, comparando el caso de determinar una ruta usando ISBN (números estándar internacionales de libros) de 1.565.419 libros como números de gestión del artículo, mientras que se requería en el método descrito en esta realización un tiempo de cálculo de 7.575 ms y que el máximo número de ficheros grabados en un directorio fuese 48, en el método existente usando MD5 se requería un tiempo de cálculo de 19.601 ms y que el máximo número de ficheros grabados en un directorio fuese 49.
En esta comparación, mientras que el tiempo de procesamiento de un artículo en el método descrito en esta realización era de 0,005 ms, el tiempo de procesamiento de un artículo en el método existente usando MD5 era de 0,013 ms.
Como referencia, comparando el caso de determinar una ruta a partir de números de gestión del artículo con un número de dígitos diferente desde 1 a 3.000.000, mientras que en el método descrito en esta realización el máximo número de ficheros grabados en un directorio fue 83, en el método existente usando MD5 el máximo número de ficheros grabados en un directorio fue 75. Además, comparando el caso de determinar una ruta a partir de números de gestión de artículos con el mismo número de dígitos desde 0000001 a 3.000.000, mientras que en el método descrito en esta realización el máximo número de ficheros grabados en un directorio fue 86, en el método existente usando MD5 el máximo número de ficheros grabados en un directorio fue 76.
La comparación anterior muestra que el método descrito en esta realización puede calcular una ruta más rápidamente que el método existente usando MD5. También muestra que un número (el número primo a - la variable
de indicador de dígito n) que difiere de dígito a dígito tiene preferiblemente al menos tres dígitos, y un efecto ventajoso puede obtenerse cuando a directamente se crea a partir de un valor numérico de al menos cuatro dígitos como una ruta.
La figura 11 es un diagrama que muestra una distribución del número de ficheros grabados en un directorio en el caso de determinar una ruta a partir de tres millones de números aleatorios de gestión de artículos donde se unen con un guion caracteres alfanuméricos de tres dígitos y valores numéricos de siete dígitos mediante el método descrito en esta realización. Tal como se describe con referencia a la figura 10, el tiempo de cálculo fue de 15.025 ms, y el máximo número de ficheros grabados en un directorio fue 78.
Tal como se muestra en la figura 11, el número de directorios en los que los 45 ficheros se graban es aproximadamente 3700, que es el más grande, y la relación entre el número de ficheros grabados en un directorio y el número de directorios que almacenan un número de ficheros dado se acerca a una distribución normal.
La figura 12 es un diagrama que muestra una distribución del número de ficheros grabados en un directorio en el caso de determinar una ruta a partir de tres millones de números aleatorios de gestión de artículos donde se unen con un guion caracteres alfanuméricos de tres dígitos y valores numéricos de siete dígitos mediante el método existente usando MD5. Tal como se describe con referencia a la figura 10, el tiempo de cálculo fue de 39.669 ms, y el máximo número de ficheros grabados en un directorio fue 83.
Tal como se muestra en la figura 11, el número de directorios en los que se graban 44, 45 o 47 ficheros es aproximadamente 3800, que es el más grande, y la relación entre el número de ficheros grabados en un directorio y el número de directorios que almacenan el número de ficheros dado se acerca a una distribución normal.
Estos gráficos muestran que el método descrito en esta realización puede calcular una ruta para grabar ficheros en directorios sin disparidad, así como el método existente usando MD5. También muestran que un número (el número primo a - la variable de indicador de dígito n) que difiere de dígito a dígito preferiblemente tiene al menos tres dígitos, y un efecto ventajoso puede obtenerse cuando a directamente se crea a partir de un valor numérico de al menos cuatro dígitos como una ruta.
Aunque se describe en el ejemplo anterior el caso de leer y escribir un fichero en el que se almacenan los datos relativos a un artículo que aparece en una página web de comercio electrónico, los datos que van a leerse y leerse no se limitan a ello, y puede usarse cualquier tipo de datos tal como imágenes, voz, texto y caracteres numéricos. En este caso, la información de identificación puede ser cualquier información siempre que identifique datos (información de grabación), tal como un nombre de fichero, un nombre de datos, una fecha y hora de grabación, un ID de dispositivo (identificación) que especifique un dispositivo como una cámara digital, una dirección Mac (dirección de control de acceso a medios), un ID de usuario que especifica un usuario, una latitud y una longitud que indican un lugar de grabación, o una combinación de estos.
Además, aunque se crea una ruta que indica un directorio que tiene una jerarquía de dos niveles en el ejemplo anterior, la ruta no se limita a la jerarquía de dos niveles, y puede ser una jerarquía de un único nivel o una jerarquía de tres niveles.
Tal como se describió anteriormente, según el método de esta realización, es posible calcular una ruta para grabar sin disparidad rápidamente y con un simple cálculo.
Tal como se describió anteriormente, en el caso de obtener información de identificación para identificar información de grabación que va a grabarse o leerse, obtener un número primo correspondiente a la información de identificación entre números primos del mismo número de dígitos, calcular la suma total de productos obtenida al multiplicar un valor de cada dígito de la información de identificación por una diferencia obtenida al restar una diferencia según el dígito del número primo obtenido, que es la suma total para todos los dígitos de la información de identificación, y determinar una ruta que indique un directorio donde se almacene la información de grabación a partir de la suma total, es posible grabar la información rápidamente y sin disparidad, sin necesidad de una tabla o índice. Por tanto, es posible calcular un número en un lugar de dígito de un valor hash obtenido mediante un método hash simple y un número entero diferente seleccionado usando el valor hash a partir de un conjunto de número enteros, calcular el resultado de los cálculos entre sí y determinar así un directorio basándose en el valor obtenido. Además, es posible obtener de manera única un directorio a partir de una URL y almacenar un fichero de manera distribuida sobre directorios independientemente de la disparidad del valor hash.
Los procesos descritos anteriormente pueden ejecutarse mediante hardware o software.
Debe observarse que el programa ejecutado por un ordenador puede ser un programa que se procesa en una secuencia de tiempo según el orden mostrado en esta descripción o un programa que se procesa en paralelo o a un tiempo necesario tal y como se requiera.
Las realizaciones de la presente invención no se restringen a las realizaciones descritas anteriormente, y pueden
hacerse diversos cambios y modificaciones sin apartarse del alcance de la invención.
Por ejemplo, aunque el número primo a se obtiene a partir de la tabla de números primos (conjunto) en la etapa S34 en la realización anterior, puede obtenerse mediante otro método. Por ejemplo, el número primo a puede obtenerse a partir de un conjunto de números enteros no continuos u obtenerse a partir de una tabla predeterminada.
Además, aunque se describe el ejemplo en el que la unidad de determinación de ruta 77 multiplica el valor inicial de ruta M por 50 para hacer que el valor inicial de ruta M tenga cuatro dígitos o más cuando se convierte en un número hexadecimal en la etapa S44 en la realización anterior, esta etapa puede omitirse como convenga.
Además, aunque se describe el ejemplo en el que el valor b * (el número primo a - la variable de indicador de dígito n) se calcula para cada dígito y se suma en la etapa S39 en la realización anterior, el valor usado para la multiplicación del valor b puede ser cualquier valor siempre que sea un número entero que difiere de dígito a dígito y la variable de indicador de dígito n puede sumarse, no solo restarse, al número primo a, o el valor puede no calcularse a partir del número primo a. Por ejemplo, un número entero diferente puede obtenerse usando un número aleatorio. Además, aunque se describe el ejemplo de multiplicar el valor b por un número entero diferente de dígito a dígito, puede llevarse a cabo una suma, resta o división en lugar de la multiplicación.
Lista de signos de referencia
11 servidor web, 12 red, 13 grupo de servidores, servidor NFS de 14-1 a 14-N, 31 CPU, 32 ROM, 33 RAM, 38 unidad de almacenamiento, 39 unidad de comunicación, 41 medio extraíble, 51 función de servidor web, 52 unidad de generación de datos de páginas, 53 unidad de configuración de página, 54 unidad de control de lectura/escritura de ficheros, 71 unidad de control de grabación, 72 unidad de creación de directorios, 73 unidad de control de lectura, 74 unidad de obtención de información de identificación, 75 unidad de obtención de números primos, 76 unidad de cálculo, 77 unidad de determinación de ruta, 78 unidad de almacenamiento de tablas de números primos.
Claims (5)
- REIVINDICACIONESi. Método de procesamiento de información que gestiona un directorio para almacenar información de grabación, que comprende:una etapa de obtención de información de identificación (S31, S32) para obtener información de identificación para identificar la información de grabación a partir de información de dirección URL;caracterizado poruna etapa de obtención (S33, S34) para obtener un número primo correspondiente a la información de identificación obtenida entre números primos que tienen el mismo número de dígitos;una etapa de cálculo (S38 a S40) para multiplicar un valor de cada dígito de la información de identificación obtenida por un valor obtenido al restar un valor correspondiente a una posición de dicho dígito del número primo obtenido, repitiendo para cada dígito, y al calcular una suma de valores obtenida mediante la multiplicación, yuna etapa de determinación (S43 a S48) para determinar el directorio para almacenar la información de grabación basándose en la suma calculada.
- 2. Método de procesamiento de información según la reivindicación 1, en el quela etapa de determinación (S43 a S48) usa un número entero diferente seleccionado a partir de un conjunto de números enteros predeterminado usando el valor numérico para el cálculo con el número en un lugar de dígito del valor numérico.
- 3. Método de procesamiento de información según la reivindicación 1 o 2, que comprende adicionalmente: una etapa de creación (S14) para crear el directorio cuando el directorio determinado en la etapa de determinación no exista.
- 4. Dispositivo de procesamiento de información que está configurado para gestionar un directorio para almacenar información de grabación, que comprende:una unidad de obtención de información de identificación (74) que está configurada para obtener información de identificación para identificar la información de grabación a partir de la información de dirección URL;caracterizado poruna unidad de obtención de números primos (75) que está configurada para obtener un número primo correspondiente a la información de identificación obtenida entre números primos que tienen el mismo número de dígitos;una unidad de cálculo (76) que está configurada para multiplicar un valor de cada dígito de la información de identificación obtenida por un valor obtenido al restar un valor correspondiente a una posición de dicho dígito del número primo obtenido, para repetir para cada dígito, y calcular una suma de valores obtenida por la multiplicación; yuna unidad de determinación (77) que está configurada para determinar el directorio para almacenar la información de grabación basándose en la suma calculada.
- 5. Programa que está configurado para gestionar un directorio para almacenar información de grabación, estando el programa configurado para, cuando se ejecuta en un ordenador, provocar que el ordenador ejecute:una etapa de obtención de información de identificación (S31, S32) para obtener información de identificación para identificar la información de grabación a partir de la información de dirección URL; una etapa de obtención (S33, S34) para obtener un número primo correspondiente a la información de identificación obtenida entre números primos que tienen el mismo número de dígitos;una etapa de cálculo (S38 a S40) para multiplicar un valor de cada dígito de la información de identificación obtenida por un valor obtenido al restar un valor correspondiente a una posición de dicho dígito del número primo obtenido, repitiendo para cada dígito, y al calcular una suma de valores obtenidos mediante la multiplicación, yuna etapa de determinación (S43 a S48) para determinar el directorio para almacenar la información de grabación basándose en la suma calculada.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010055159 | 2010-03-11 | ||
PCT/JP2011/055832 WO2011111837A1 (ja) | 2010-03-11 | 2011-03-11 | 情報処理方法、情報処理装置、プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2703767T3 true ES2703767T3 (es) | 2019-03-12 |
Family
ID=44563634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES11753495T Active ES2703767T3 (es) | 2010-03-11 | 2011-03-11 | Método de procesamiento de información, dispositivo de procesamiento de información, programa y medio de grabación |
Country Status (6)
Country | Link |
---|---|
US (1) | US8812568B2 (es) |
EP (1) | EP2546750B1 (es) |
JP (1) | JP5129409B2 (es) |
CN (1) | CN102782659B (es) |
ES (1) | ES2703767T3 (es) |
WO (1) | WO2011111837A1 (es) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8767954B2 (en) * | 2011-12-01 | 2014-07-01 | Colloid, Llc | Methods and systems for deriving a cryptographic framework |
JP2013171493A (ja) * | 2012-02-22 | 2013-09-02 | Sony Corp | 情報処理装置及び方法、並びにプログラム |
CN104239376B (zh) * | 2013-11-07 | 2018-02-02 | 大唐网络有限公司 | 数据存储方法和装置 |
CN111414337B (zh) * | 2019-01-08 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 一种文件读取方法、装置、计算设备及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6202136B1 (en) * | 1994-12-15 | 2001-03-13 | Bmc Software, Inc. | Method of creating an internally consistent copy of an actively updated data set without specialized caching hardware |
JPH1074154A (ja) | 1996-08-30 | 1998-03-17 | Digital Vision Lab:Kk | ファイル管理装置 |
JP2000242538A (ja) | 1999-02-22 | 2000-09-08 | Nec Corp | ディレクトリ検索システム、ディレクトリ検索方法およびディレクトリ検索用プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2000357115A (ja) * | 1999-06-15 | 2000-12-26 | Nec Corp | ファイル検索装置及びファイル検索方法 |
CN1174615C (zh) * | 2000-04-18 | 2004-11-03 | 松下电器产业株式会社 | 数据采集装置、数据保持装置、数据采集方法和数据保持方法 |
JP2004185214A (ja) | 2002-12-02 | 2004-07-02 | Renesas Technology Corp | ファイル管理装置 |
JP4141239B2 (ja) * | 2002-12-06 | 2008-08-27 | 三洋電機株式会社 | 撮影初期化方法とこの方法に利用可能な撮像装置および画像サーバ |
US7412449B2 (en) * | 2003-05-23 | 2008-08-12 | Sap Aktiengesellschaft | File object storage and retrieval using hashing techniques |
JP4315876B2 (ja) * | 2004-08-17 | 2009-08-19 | 富士通株式会社 | ファイル管理プログラム、ファイル管理方法、及びファイル管理装置 |
US20070112784A1 (en) * | 2004-11-17 | 2007-05-17 | Steven Blumenau | Systems and Methods for Simplified Information Archival |
JP2007004604A (ja) * | 2005-06-24 | 2007-01-11 | Nippon Telegr & Teleph Corp <Ntt> | ファイル所在管理方法、端末、およびファイル所在管理サーバ |
US7840540B2 (en) * | 2006-04-20 | 2010-11-23 | Datascout, Inc. | Surrogate hashing |
US7809685B2 (en) * | 2006-04-21 | 2010-10-05 | Ricoh Co., Ltd. | Secure and efficient methods for logging and synchronizing data exchanges |
JP2008210318A (ja) * | 2007-02-28 | 2008-09-11 | Keytel:Kk | 電子ファイル受渡システム、プログラム及び計算機システム |
WO2009134772A2 (en) * | 2008-04-29 | 2009-11-05 | Maxiscale, Inc | Peer-to-peer redundant file server system and methods |
-
2011
- 2011-03-11 US US13/583,594 patent/US8812568B2/en active Active
- 2011-03-11 WO PCT/JP2011/055832 patent/WO2011111837A1/ja active Application Filing
- 2011-03-11 ES ES11753495T patent/ES2703767T3/es active Active
- 2011-03-11 CN CN201180011527.9A patent/CN102782659B/zh active Active
- 2011-03-11 EP EP11753495.8A patent/EP2546750B1/en active Active
- 2011-03-11 JP JP2012504546A patent/JP5129409B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JPWO2011111837A1 (ja) | 2013-06-27 |
EP2546750B1 (en) | 2018-11-28 |
US8812568B2 (en) | 2014-08-19 |
CN102782659B (zh) | 2015-09-30 |
EP2546750A4 (en) | 2015-01-07 |
US20130041928A1 (en) | 2013-02-14 |
WO2011111837A1 (ja) | 2011-09-15 |
JP5129409B2 (ja) | 2013-01-30 |
CN102782659A (zh) | 2012-11-14 |
EP2546750A1 (en) | 2013-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI837227B (zh) | 用於透過點對點網路儲存、提取及傳遞資料之電腦實施系統及方法 | |
CN105703906B (zh) | 用于在内容中心网络中使用清单验证重新命名的内容的方法和系统 | |
US9400800B2 (en) | Data transport by named content synchronization | |
US10187460B2 (en) | Peer-to-peer sharing in a content centric network | |
ES2703767T3 (es) | Método de procesamiento de información, dispositivo de procesamiento de información, programa y medio de grabación | |
CN111090385A (zh) | 一种基于区块链的数据管理方法及装置 | |
JP2017068540A (ja) | 記念アルバムの掲載システム |