Red de conocimiento informático - Problemas con los teléfonos móviles - Estructura jerárquica de la base de datos de red

Estructura jerárquica de la base de datos de red

Actualmente, la tecnología de Internet/Intranet se está desarrollando extremadamente rápido y cada vez se ejecutan más aplicaciones de bases de datos en el entorno de Internet/Intranet. Antes de esto, el desarrollo de sistemas de aplicaciones de bases de datos pasó por estructuras independientes, estructuras centralizadas y estructuras cliente/servidor (C/S). Con la popularidad de Internet, estructuras navegador/servidor (B/S) y múltiples capas. estructura. Al crear un sistema de aplicaciones, lo primero que hay que considerar es la estructura del sistema, que depende de factores como el entorno de red del sistema y los requisitos de la aplicación.

Arquitectura Cliente/Servidor

1. Arquitectura C/S de dos niveles

La arquitectura C/S de dos niveles es una estructura de sistema de base de datos muy popular. En esta estructura, el cliente realiza una solicitud y el servidor responde a la solicitud de servicio del cliente. Separa la interfaz y las operaciones de procesamiento de datos del front-end (lado del cliente) y del back-end (lado del servidor). Esta característica principal hace que la velocidad de trabajo del sistema C/S dependa principalmente del servidor que realiza una gran cantidad de operaciones de datos, en lugar del dispositivo de hardware frontal, y también reduce en gran medida los requisitos de velocidad de transmisión de la red, porque el cliente; Solo necesita enviar servicios a la solicitud del servidor de la base de datos, y el servidor de la base de datos simplemente envía los resultados del servicio al front-end.

Durante el diseño pueden existir diferentes formas de tratamiento de datos de la siguiente manera.

(1) Durante el procesamiento, el cliente primero solicita datos del servidor y luego libera la base de datos, es decir, el cliente envía una solicitud de archivo, procesa los datos en el cliente y finalmente envía los resultados. volver al servidor. Las desventajas de este enfoque son obvias: todo el procesamiento de la aplicación se realiza en el cliente, lo que requiere que la computadora del cliente sea lo suficientemente potente para ejecutar cualquier programa requerido. Para empeorar las cosas, dado que todo el procesamiento se realiza en el lado del cliente, el archivo debe transferirse al cliente en su totalidad antes de cada ejecución. Por ejemplo, hay 30.000 registros en la tabla de Estudiantes y el comando emitido por el cliente es:

Seleccione * De Estudiante Donde Sno='200101'

Este comando le preguntará al servidor a Todos los registros se transmiten al cliente y luego la consulta se ejecuta en el cliente. Como resultado, solo se puede usar un registro. Si el registro consultado no existe, los datos transmitidos a través de la red son en realidad inútiles. Si el registro de consulta no existe, los datos transmitidos a través de la red son efectivamente inútiles. Una transferencia de datos tan grande es inimaginable. Por ello, se propusieron arquitecturas cliente/servidor que pudieran ejecutar parte del código en el servidor.

(2) Durante el proceso de procesamiento, el cliente acepta la solicitud del usuario y la envía al servidor; el servidor procesa la solicitud del usuario y finalmente transmite el resultado al cliente para su visualización o impresión. El tamaño de comunicación de red de este método de procesamiento es menor. El cliente envía una solicitud de procesamiento en lugar de una solicitud de archivo al servidor, el código en la solicitud de procesamiento se ejecuta en el lado del servidor y los resultados del procesamiento se transmiten al cliente.

De esta manera, para una tarea específica, el programa en el cliente y el programa en el servidor trabajan juntos: el código en el cliente se usa para completar la entrada y salida del usuario y la verificación de datos, mientras que el código en el servidor El código completa la operación de la base de datos.

Otra característica importante de la arquitectura cliente/servidor es la independencia de las plataformas de software y hardware. El sistema de administración de bases de datos en el servidor de bases de datos es responsable centralmente de administrar los datos. Proporciona un entorno de uso abierto para el cliente. El cliente accede a la base de datos a través de interfaces de bases de datos como ODBC (Conectividad abierta de bases de datos) y el lenguaje SQL. no importa lo que utilice el cliente. Cualquier hardware y software puede acceder a la base de datos siempre que pueda conectarse al servidor a través de la red y el programa de interfaz de base de datos.

En una arquitectura cliente/servidor, el cliente suele denominarse frontend y el servidor backend. Las funciones de la aplicación en primer plano incluyen la interfaz de usuario, recibir datos del usuario, procesar la lógica de la aplicación, enviar solicitudes en segundo plano, recibir resultados devueltos por el fondo y, finalmente, mostrar los resultados devueltos al usuario en un determinado formato o método. El servidor back-end es responsable de compartir dispositivos externos, acceder a datos compartidos, responder a las solicitudes de los clientes front-end y enviar resultados. Las aplicaciones y los datos de front-end suelen ser específicos del usuario, mientras que los datos y el código de back-end son accesibles para todos los usuarios.

Dado que el servidor de la base de datos no solo debe administrar los datos compartidos y garantizar la integridad de los datos, sino también ejecutar algunos códigos y completar algunas solicitudes de procesamiento del cliente, impone altas exigencias a la computadora utilizada por el servidor. Es mejor utilizar un servidor dedicado con una velocidad de procesamiento rápida, disco duro y memoria de gran capacidad y soporte para dispositivos de almacenamiento de gran capacidad, como cintas.

La arquitectura cliente/servidor mencionada anteriormente divide la aplicación en dos niveles: cliente y servidor, lo que se denomina arquitectura cliente/servidor de dos niveles. En resumen, la forma básica en que funciona una arquitectura C/S de dos niveles es que el programa cliente envía una solicitud SQL al servidor de la base de datos y el servidor devuelve datos o resultados.

Hay dos formas de implementar esta estructura C/S. Una es que el cliente complete la parte de presentación y la parte lógica de la aplicación, y el servidor complete la parte de acceso a datos. Esta situación está centrada en el cliente. Adecuado para aplicaciones relativamente simples y el acceso a datos no es muy grande. El otro está centrado en el servidor y coloca algunas partes importantes de la lógica de la aplicación en el servidor, lo que puede aprovechar al máximo la potencia informática del servidor y reducir la necesidad de transmisión de datos en la red. Generalmente en forma de procedimientos almacenados y activadores, pero los procedimientos almacenados dependen de una base de datos específica y son difíciles de trasplantar entre diferentes bases de datos. La estructura C/S de tres niveles puede resolver bien este problema.

Nota: Los activadores son códigos de eventos a nivel de registro que se ejecutan después de operaciones de inserción, eliminación o modificación en el sistema de base de datos. Diferentes eventos pueden corresponder a diferentes operaciones. Generalmente hay 3 tipos de activadores: activadores INSERTAR, activadores ELIMINAR y activadores ACTUALIZAR.

2. Estructura C/S de tres niveles

Debido a los defectos inherentes del sistema cliente/servidor de dos niveles, no se puede aplicar a algunas estructuras de sistemas grandes y complejas. entonces hay un sistema cliente / servidor de tres niveles, y la parte del servidor, la parte del cliente y la parte de la aplicación en la estructura de dos niveles se dividen por separado, es decir, la estructura de "cliente-servidor de aplicaciones-servidor de base de datos" se adopta (como se muestra en la Figura 1-se muestra en 8). Una aplicación de base de datos típica se puede dividir en tres partes: parte de presentación, parte de lógica de aplicación (lógica de negocios) y parte de acceso a datos. La estructura de tres niveles corresponde a estas tres partes.

El servidor de aplicaciones y el servidor de bases de datos pueden estar en el mismo host o en diferentes hosts. El cliente es la parte de la interfaz de usuario de la aplicación y es responsable de la interacción entre el usuario y la aplicación. El software que ejecuta el cliente también se denomina software de capa de presentación. El servidor de aplicaciones aloja el software de la capa de lógica empresarial (también conocida como capa funcional) y es el núcleo del procesamiento de la lógica de la aplicación para implementar servicios específicos. Puede responder a las solicitudes de los clientes y completar procesamientos comerciales o cálculos complejos. Si hay una tarea de acceso a la base de datos, la capa del servidor de aplicaciones puede enviar comandos SQL al servidor de la base de datos de acuerdo con la solicitud del cliente. Cuando la lógica de la aplicación se vuelve compleja o se agregan nuevas aplicaciones, se pueden agregar nuevos servidores de aplicaciones. El servidor de base de datos se utiliza para ejecutar comandos SQL enviados por la capa funcional para implementar restricciones de integridad, acceso y almacenamiento de datos. Una vez que se completa la operación, los resultados se devuelven al cliente a través del servidor de aplicaciones.

Arquitectura de navegador/servidor

Con la aplicación generalizada de la tecnología de Internet y la tecnología Web, la arquitectura C/S ya no puede satisfacer las necesidades de las personas. Porque en un sistema C/S típico, la práctica habitual de instalar aplicaciones front-end para los clientes ya no es práctica, y tampoco es práctico limitar el entorno de trabajo del cliente a sistemas operativos como Windows, Macintosh o UNIX. Por lo tanto, surgieron sistemas basados ​​en la arquitectura navegador/servidor (navegador/servidor).

Después de adoptar la estructura B/S, el cliente solo necesita instalar un navegador universal y ya no está restringido por sistemas operativos y hardware específicos, realizando aplicaciones multiplataforma.

Las aplicaciones típicas basadas en la estructura B/S suelen adoptar una estructura de tres niveles: "navegador-servidor web-servidor de base de datos". El principio de funcionamiento del modo B/S es: a través del navegador. forma de hipertexto El principio de funcionamiento de proponer el modo B/S al servidor web es el siguiente: el navegador realiza una solicitud al servidor web para acceder a la base de datos en forma de hipertexto. El servidor web acepta la solicitud del cliente y activa el. El programa CGI correspondiente convierte el lenguaje HTML de hipertexto a la sintaxis SQL y entrega esta solicitud a la base de datos. Una vez que el servidor de la base de datos recibe la solicitud, procesa los datos y luego devuelve el conjunto de resultados procesados ​​al programa CGI. luego convierte el resultado a HTML y lo reenvía al navegador del solicitante a través del dispositivo del servidor web, como se muestra en la Figura 1-9.

En el modo B/S, la configuración estándar del cliente es un navegador, como IE, el procesamiento de funciones comerciales es manejado por un servidor de aplicaciones separado, y el servidor web se convierte en la configuración estándar de procesamiento de aplicaciones. ; el procesamiento de datos todavía lo realiza la dirección del servidor de la base de datos.

Esencialmente, la estructura B/S y la estructura C/S tradicional ejecutan aplicaciones a través de solicitudes y respuestas. La principal diferencia es que C/S es una estructura de dos o tres capas en la estructura. En el modo, el cliente concentra una gran cantidad de aplicaciones, mientras que B/S es una estructura C/S de tres o varias capas basada en HyperLink, HTML y Java. El cliente solo necesita un único software de navegador. El cliente solo necesita un único software de navegador, que es una estructura completamente nueva que resuelve el problema multiplataforma. Hasta ahora, ambas estructuras han sido ampliamente utilizadas en diferentes aspectos. Aunque las ventajas de la estructura C/S en el entorno de Internet obviamente no son tan buenas como las de la estructura B/S, todavía tiene ventajas en el entorno LAN.

Arquitectura multicapa del sistema de información de Internet/Intranet

En comparación con el software de aplicación tradicional de dos niveles, el software de aplicación multicapa tiene buena escalabilidad, gran capacidad de administración y seguridad. Como la alta confiabilidad y la buena reutilización del software, cómo construir la arquitectura del software de la aplicación en el entorno de Internet/Intranet se ha convertido en un tema muy importante. Se ha convertido en un tema muy importante y en un nuevo punto candente en la investigación de sistemas de software.

En la actualidad, diversas tecnologías están surgiendo sin cesar, como las páginas web HTML estáticas originales, programas de puerta de enlace CGI simples, programas Java Applet, hasta las tecnologías de bases de datos web actuales como ASP, así como Java dinámico. juegos en línea y tecnología PHP.

De hecho, el concepto de multicapa fue propuesto por Sun. El sistema de aplicaciones multicapa de Sun consta de cuatro capas: capa de cliente, capa superior de servicio web, capa de servicio de aplicación y capa de base de datos. Entre ellos, la capa superior de servicios web es una capa muy importante en la arquitectura multicapa de Sun y funciona principalmente como proxy y caché. La función del servidor web de nivel superior es almacenar en caché los programas Java Applet y los datos estáticos utilizados con frecuencia por los clientes locales. Generalmente se coloca en la LAN del cliente y actúa como un host Java Applet (una computadora que envía programas Java Applet a la Web). navegador) y un proxy para acceder a otros servicios. Su función es la misma que la de un servidor proxy normal. Al crear software de aplicaciones con una estructura de varios niveles, elegir la plataforma Java es una buena opción porque abarca plataformas de aplicaciones. En resumen, la construcción de sistemas de software de aplicaciones multicapa en la plataforma Java representa la tendencia de desarrollo de futuras aplicaciones de Internet/Intranet.