ES2856971T3 - Método y dispositivo de procesamiento de trabajos - Google Patents

Método y dispositivo de procesamiento de trabajos Download PDF

Info

Publication number
ES2856971T3
ES2856971T3 ES15893170T ES15893170T ES2856971T3 ES 2856971 T3 ES2856971 T3 ES 2856971T3 ES 15893170 T ES15893170 T ES 15893170T ES 15893170 T ES15893170 T ES 15893170T ES 2856971 T3 ES2856971 T3 ES 2856971T3
Authority
ES
Spain
Prior art keywords
thread
raw
preset
job
threads
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
Application number
ES15893170T
Other languages
English (en)
Inventor
Changsheng Zhu
Tao Chang
Chenhao Li
Yehong Wang
Peng Zhang
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank 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 China Construction Bank Corp filed Critical China Construction Bank Corp
Application granted granted Critical
Publication of ES2856971T3 publication Critical patent/ES2856971T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • General Factory Administration (AREA)

Abstract

Un método de procesamiento de trabajos implementado por un ordenador, que comprende: determinar un número de trabajos sin procesar en trabajos de destino y tomar este número como un número de trabajo sin procesar (S101); determinar un número de subprocesos que procesan los trabajos de destino y tomar este número como un número de subproceso de procesamiento (S102); activar (S103), de acuerdo con las reglas de activación de subprocesos, el número correspondiente de nuevos subprocesos basado en una relación de tamaño entre el número de trabajo sin procesar y un umbral preestablecido sin procesar y una relación de tamaño entre el número de subproceso de procesamiento y un valor de subproceso de activación preestablecido; y activar (S104) los nuevos subprocesos para procesar los trabajos sin procesar, en donde el umbral preestablecido sin procesar se usa para mostrar que es necesario agregar un nuevo subproceso donde el número de trabajo sin procesar alcanza el umbral preestablecido sin procesar y en donde el valor preestablecido del subproceso de activación se usa para representar un valor mínimo de los subprocesos activados para los trabajos de destino; en donde la activación, de acuerdo con las reglas de activación de subprocesos, el número correspondiente de los nuevos subprocesos en base a la relación de tamaño entre el número de trabajo sin procesar y el umbral preestablecido sin procesar y la relación de tamaño entre el número de subproceso de procesamiento y el valor de subproceso de activación preestablecido comprende: activar (S205) un número fijo preestablecido de los nuevos subprocesos, donde el número de trabajo sin procesar es menor que el umbral preestablecido sin procesar y el número de subproceso de procesamiento es menor que el valor del subproceso de activación preestablecido; determinar un número de preactivación de subprocesos como primer número objetivo y activar el primer número objetivo de los nuevos subprocesos (S208), donde el número de trabajo sin procesar es mayor o igual al umbral preestablecido sin procesar, el número de subproceso de procesamiento es menor que un umbral de subproceso preestablecido y un número de preactivación de subproceso es mayor que 1; determinar un valor de suma del número de preactivación de subprocesos y el valor de subproceso de activación preestablecido como un segundo número de destino, y activar el segundo número de destino de los nuevos subprocesos (S209), donde el número de trabajo sin procesar es mayor o igual que el umbral preestablecido sin procesar, el número de subproceso de procesamiento es menor que el umbral de subproceso preestablecido y el número de preactivación de subproceso es menor o igual a 1; en donde el número de preactivación de subprocesos está determinado por (el número de trabajo sin procesar - el umbral preestablecido sin procesar)/un valor de intervalo de adición de subprocesos preestablecido; y el valor de intervalo de adición de subproceso preestablecido representa la activación de un subproceso para los trabajos de cada valor de intervalo de adición de subproceso en una parte del número de trabajo sin procesar que excede el umbral preestablecido sin procesar.

Description

DESCRIPCIÓN
Método y dispositivo de procesamiento de trabajos
Campo
La presente descripción se refiere al campo técnico del procesamiento en paralelo de trabajos, más particularmente, a un método y dispositivo de procesamiento de trabajos.
Antecedentes
En un sistema informático, una tarea a procesar puede considerarse un trabajo. El proceso del sistema que procesa el trabajo puede ser específicamente el sistema que activa un subproceso para que el subproceso procese el trabajo. Actualmente, el sistema activa un número fijo de subprocesos para los trabajos sin procesar y especifica qué trabajos deben procesarse para cada subproceso, respectivamente. Solo después de que todos los subprocesos completen la ejecución del trabajo respectivo, se puede considerar que este lote de trabajos se ha ejecutado por completo.
Se puede saber que la diferencia en las características del trabajo causa la diferencia en las velocidades de procesamiento de subprocesos, por lo que puede ocurrir la situación en la que un determinado subproceso se ejecuta por completo, pero debe esperar a otros subprocesos, o se inician subprocesos excesivos, lo que conduce a relativamente gran presión en el sistema. Como tal, la forma de procesamiento de trabajos existente tiene efectos de procesamiento deficientes.
XU D: "Performance Study and Dynamic Optimization Design for Thread Pool Systems", CONFERENCIA INTERNACIONAL DE TECNOLOGÍAS DE CONTROL Y COMUNICACIÓN INFORMÁTICA: CCCT & INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS ANALYSIS AND SYNTHESIS, 14 de agosto de 2004, páginas 1-6, describe un nuevo algoritmo, denominado dynamicThreadPool, para el ajuste del tamaño del grupo de subprocesos. Las agrupaciones de subprocesos han sido ampliamente usadas por muchas aplicaciones multiproceso. Sin embargo, la determinación del tamaño de la piscina de acuerdo con el comportamiento de la aplicación sigue siendo problemática. Para automatizar este proceso, en este papel hemos desarrollado un conjunto de métricas de rendimiento para analizar cuantitativamente el rendimiento del grupo de subprocesos. Para nuestros experimentos, creamos un sistema de grupo de subprocesos que proporciona una armazón general para la investigación del grupo de subprocesos. Basándonos en este entorno de simulación, estudiamos el impacto en el rendimiento aportado por el grupo de subprocesos en diferentes aplicaciones multiproceso. Adicionalmente, también se examinaron las correlaciones entre las caracterizaciones internas de los grupos de subprocesos y su rendimiento. Luego propusimos y evaluamos un algoritmo heurístico para determinar dinámicamente el tamaño óptimo del grupo de subprocesos. Los resultados de la simulación muestran que este enfoque es efectivo para mejorar el rendimiento general de la aplicación.
El documento US 2010/153962 A1 describe un sistema y método para controlar la distribución de elementos de trabajo a subprocesos en un servidor. El sistema y método incluyen un dispensador de permisos que realiza un seguimiento de los permisos, y una pluralidad de grupos de subprocesos, cada uno de los cuales incluye una cola con un tamaño configurable, que se configura con la concurrencia deseada y un tamaño de la cola que es igual a un número total de elementos de trabajo que ejecutarán los subprocesos del grupo en el grupo de subprocesos. El número de permisos especifica un número total de subprocesos disponibles para ejecutar los elementos de trabajo en el servidor. Cada subproceso de grupo ejecuta un elemento de trabajo en el grupo de subprocesos, determina si existe un excedente de subprocesos o un déficit de subprocesos, y reduce o aumenta el grupo de subprocesos, respectivamente.
El documento US 2004/199926 A1 describe una etapa de arquitectura impulsada por eventos por etapas mejorada (SEDA). La etapa SEDA mejorada puede incluir una cola de eventos configurada para poner en cola una pluralidad de eventos, un controlador de eventos programado para procesar eventos en la cola de eventos y un grupo de subprocesos acoplado al controlador de eventos. Además, se puede acoplar un administrador de recursos al grupo de subprocesos y la cola de eventos. Además, el administrador de recursos se puede programar para asignar subprocesos adicionales al grupo de subprocesos donde un número de eventos en cola en la cola de eventos excede un valor de umbral y donde todos los subprocesos en el grupo de subprocesos están ocupados.
Resumen
En vista de esto, la presente descripción proporciona un método de procesamiento de trabajos implementado por un ordenador para resolver el problema técnico en la técnica anterior de efectos de procesamiento de trabajos relativamente pobres. En adición, la presente descripción proporciona además un dispositivo de procesamiento de trabajos para garantizar la aplicación e implementación del método en la práctica.
Para realizar el propósito anterior, la presente descripción proporciona las siguientes soluciones técnicas.
El primer aspecto de la presente descripción proporciona un método de procesamiento de trabajos implementado por un ordenador que incluye:
determinar un número de trabajos sin procesar en trabajos de destino y tomar este número como un número de trabajo sin procesar; determinar un número de subprocesos que procesan los trabajos de destino y tomar este número como un número de subproceso de procesamiento;
activar, de acuerdo con diferentes reglas de activación de subprocesos, el número correspondiente de nuevos subprocesos basado en una relación de tamaño entre el número de trabajo sin procesar y un umbral preestablecido sin procesar y una relación de tamaño entre el número de subproceso de procesamiento y un valor de subproceso de activación preestablecido; y
activar los nuevos subprocesos para procesar los trabajos sin procesar;
en donde el umbral preestablecido sin procesar se usa para mostrar que necesita agregar un nuevo subproceso donde el número de trabajo sin procesar alcanza el umbral preestablecido sin procesar; y el valor de subproceso de activación preestablecido se usa para representar un valor mínimo de subprocesos activados para los trabajos de destino.
El segundo aspecto de la presente descripción proporciona el dispositivo de procesamiento de trabajos que incluye: un módulo de determinación del número de trabajo sin procesar para determinar un número de trabajos sin procesar en trabajos de destino y tomar este número como un número de trabajo sin procesar;
un módulo de determinación del número de subprocesos de procesamiento para determinar un número de subprocesos que procesan los trabajos de destino y tomando este número como un número de subproceso de procesamiento; un nuevo módulo de activación de subprocesos para activar, de acuerdo con diferentes reglas de activación de subprocesos, el número correspondiente de subprocesos nuevos en función de una relación de tamaño entre el número de trabajo sin procesar y un umbral preestablecido sin procesar y una relación de tamaño entre el número de subproceso de procesamiento y un valor de subproceso de activación preestablecido;
un nuevo módulo de trabajo de procesamiento de subprocesos para activar los nuevos subprocesos para procesar los trabajos sin procesar,
en donde el umbral preestablecido sin procesar se usa para mostrar que necesita agregar el nuevo subproceso donde el número de trabajo sin procesar alcanza el umbral preestablecido sin procesar; y el valor de subproceso de activación preestablecido se usa para representar un valor mínimo de subprocesos activados para los trabajos de destino.
Se puede saber por la solución técnica anterior que la presente descripción proporciona las modalidades de los métodos de procesamiento de trabajos en los que el número de trabajos sin procesar de un cierto tipo de trabajos en el sistema y el número actual de subprocesos que procesan este tipo de trabajos son En primer lugar, las diferentes reglas de activación de subprocesos se determinan en función de la relación de tamaño entre el número de trabajo sin procesar y el umbral preestablecido sin procesar para los trabajos y la relación de tamaño entre el número actual de subprocesos y el umbral de activación de subproceso preestablecido, y diferentes números de los nuevos subprocesos se activan de acuerdo con las diferentes reglas de activación de subprocesos para que los nuevos subprocesos procesen los trabajos sin procesar. Como tal, en comparación con la técnica anterior de activar un cierto número fijo de subprocesos y asignar los trabajos fijos a procesar a los subprocesos, las presentes modalidades pueden determinar las situaciones del número de trabajo sin procesar y el número de subproceso existente en el sistema respectivamente mediante el uso del umbral preestablecido sin procesar y el umbral preestablecido de activación de subprocesos, a fin de activar diferentes números de nuevos subprocesos para diferentes situaciones, que tienen mejores efectos de procesamiento del trabajo y pueden evitar una presión de mantenimiento de subprocesos relativamente grande en el sistema.
Breve descripción de los dibujos
Con el fin de explicar más claramente las modalidades de la presente descripción o las soluciones técnicas de la técnica anterior, los dibujos que se usarán en las descripciones de las modalidades o la técnica anterior se introducen brevemente como sigue. Obviamente, los dibujos de la siguiente descripción son solo las modalidades de la presente descripción, y el experto en la técnica puede obtener además otros dibujos de estos dibujos sin aportar ningún trabajo creativo.
La figura 1 es un diagrama de flujo de la primera modalidad del método de procesamiento de trabajos proporcionado por la presente descripción.
La figura 2 es un diagrama de flujo de la segunda modalidad del método de procesamiento de trabajos proporcionado por la presente descripción.
La figura 3 es un diagrama de flujo de la tercera modalidad del método de procesamiento de trabajos proporcionado por la presente descripción; y
La figura 4 es un diagrama esquemático estructural de la primera modalidad del dispositivo de procesamiento de trabajos proporcionado por la presente descripción.
Descripción detallada de las modalidades
Las soluciones técnicas de las modalidades de la presente descripción se describirán a continuación de manera clara y completa con referencia a los dibujos de las modalidades de la presente descripción. Evidentemente, las modalidades descritas son algunas de las modalidades de la presente descripción, en lugar de todas las modalidades. Basándose en las modalidades de la presente descripción, todas las demás modalidades obtenidas por el experto en la técnica sin contribuir con ningún trabajo creativo también caen dentro del alcance de protección de la presente descripción.
Con referencia a la figura 1, se muestra un diagrama de flujo de la primera modalidad del método de procesamiento de trabajos proporcionado por la presente descripción. Como se muestra en la figura 1, la presente modalidad puede incluir específicamente las etapas S101 a SI04.
Etapa S101: determinar el número de trabajos sin procesaren los trabajos de destino y tomar este número como el número de trabajo sin procesar.
El sistema contiene una pluralidad de trabajos que pueden clasificarse en varios tipos, y además, un cierto tipo de trabajos pueden tomarse como trabajo objetivo. Por ejemplo, los tipos de trabajos incluyen un trabajo de consulta por lote y un trabajo de visualización por lote, y el trabajo de consulta por lote se toma como trabajo de destino.
Debe explicar que los trabajos de destino contienen los trabajos procesados y los trabajos sin procesar. En los trabajos de destino, se determinan los trabajos sin procesar y se cuenta el número de trabajos sin procesar. Para una descripción más conveniente, este número se llama como el número de trabajo sin procesar JobNum.
Es necesario explicar que el sistema puede mantener una tabla de trabajos para registrar los parámetros de cada trabajo en el sistema, incluido el tipo de trabajo y si el trabajo se procesa. Por lo tanto, el número de trabajos sin procesar en los trabajos de destino (es decir, el número de trabajo sin procesar JobNum) se puede calcular a partir de esta tabla de trabajos. La explicación en la tabla de trabajos puede referirse al contenido que se describe a continuación, y no se describe en la presente descripción.
Etapa S102: determinar el número de subprocesos que procesan los trabajos de destino y tomar este número como número de subproceso de procesamiento.
El sistema activa una pluralidad de subprocesos para procesar los trabajos. En estos subprocesos, se determinan los subprocesos que procesan los trabajos de destino y se cuenta el número de estos subprocesos. Para una descripción conveniente, este número se puede llamar como el número de subproceso de procesamiento ThreadNum.
Debe explicar que el sistema puede mantener una tabla de subprocesos para registrar los estados de los subprocesos, incluido si el subproceso está procesando el trabajo y el tipo específico de trabajo procesado. Por lo tanto, el número de subprocesos que están procesando los trabajos de destino (es decir, el número de subproceso de procesamiento ThreadNum) se puede determinar a partir de esta tabla de subprocesos. La explicación en la tabla de subprocesos puede referirse al contenido que se describe a continuación, y no se describe en la presente descripción.
En adición, las órdenes de ejecución de esta etapa SI02 y la etapa S101 no se limitan a la figura 1, o es posible que se ejecute la etapa S102 y luego se ejecute la etapa S101; o las etapas SI02 y S101 se ejecutan simultáneamente.
Etapa SI03: activar, de acuerdo con diferentes reglas de activación de subprocesos, el número correspondiente de nuevos subprocesos en función de una relación de tamaño entre el número de trabajo sin procesar y un umbral preestablecido sin procesar y una relación de tamaño entre el número de subproceso de procesamiento y un valor de subproceso de activación preestablecido.
En lo anterior, el umbral preestablecido sin procesar se usa para mostrar que es necesario agregar nuevos subprocesos si el número de trabajo sin procesar alcanza el umbral; el valor umbral de activación preestablecido se usa para representar un valor mínimo de los subprocesos activados para los trabajos de destino. En adición, este valor de subproceso de activación preestablecido también puede considerarse como un valor numérico de los subprocesos activados para los trabajos de destino de forma predeterminada.
Por ejemplo, el umbral preestablecido sin procesar es 15. Si el número de trabajo sin procesar de los trabajos de destino es 17, el número de trabajo sin procesar excede el umbral preestablecido sin procesar, lo que muestra que necesita agregar el nuevo subproceso. Por ejemplo, el valor de subproceso de activación preestablecido es 20, lo que muestra que se activan 20 subprocesos para los trabajos de destino de forma predeterminada para procesar los trabajos de destino.
Es necesario explicar que el número de trabajo sin procesar tiene una relación de tamaño con el umbral preestablecido sin procesar. De manera similar, también existe una relación de tamaño entre el número de subproceso de procesamiento y el valor de subproceso de activación preestablecido. Las diferentes reglas de activación de subprocesos se determinan de acuerdo con las dos relaciones de tamaño. Para diferentes reglas de activación de subprocesos, el número de nuevos subprocesos activados es diferente. Por lo tanto, se puede activar un número diferente de nuevos subprocesos de acuerdo con las dos relaciones de tamaño. Las reglas específicas de activación de subprocesos pueden referirse al contenido detallado que se describe a continuación.
La relación de tamaño entre el número de trabajo sin procesar y el umbral preestablecido sin procesar puede ser específicamente que el número de trabajo sin procesar sea mayor, igual o menor que el umbral preestablecido sin procesar. El número de trabajos sin procesar es mayor que el umbral preestablecido sin procesar, lo que muestra que hay demasiados trabajos sin procesar y es necesario agregar el subproceso.
De manera similar, la relación de tamaño entre el número de subproceso de procesamiento y el valor de subproceso de activación preestablecido puede ser específicamente que el número de subproceso de procesamiento sea mayor, igual o menor que el valor de subproceso de activación preestablecido. Si el número de subprocesos de procesamiento no excede el valor de subproceso de activación preestablecido, lo que muestra que los subprocesos existentes en el sistema en la actualidad son relativamente menores y es posible agregar el nuevo subproceso.
Como tal, en la presente modalidad, la situación de procesamiento del trabajo y la situación de existencia del subproceso en el sistema se determinan de acuerdo con los diversos umbrales. Se puede saber que si hay demasiados trabajos sin procesar en el sistema, es necesario agregar el subproceso, pero también debe considerar si el número de subprocesos que existen actualmente en el sistema puede soportar al sistema a iniciar el nuevo subproceso, a fin de para evitar una presión de mantenimiento de rosca sobrecargada en el sistema.
Etapa S104: activar los nuevos subprocesos para procesar el trabajo sin procesar.
Los nuevos subprocesos activados necesitan ejecutar una tarea de procesamiento del trabajo, por lo que los nuevos subprocesos se activan para que los nuevos subprocesos procesen los trabajos de destino sin procesar. Específicamente, los nuevos subprocesos pueden buscar un trabajo de destino sin procesar en un grupo de trabajos y seleccionar aleatoriamente el trabajo de destino sin procesar para procesar. Es necesario explicar que cada subproceso sale automáticamente o se llama como muerto después de que finaliza el procesamiento de los mismos o no hay un trabajo sin procesar.
Se puede saber por lo anterior que la presente descripción proporciona la modalidad del método de procesamiento de trabajos que, en primer lugar, determina el número de trabajo sin procesar en un cierto tipo de trabajos en el sistema y el número actual de subprocesos para procesar este tipo de trabajos, luego determina diferentes reglas de activación de subprocesos en función de la relación de tamaño entre el número de trabajo sin procesar y el umbral preestablecido sin procesar del trabajo y la relación de tamaño entre el número de subproceso actual y el valor de activación de subproceso preestablecido, y activa, de acuerdo con las diferentes reglas de activación de subprocesos, diferentes números de los nuevos subprocesos para hacer que los nuevos subprocesos procesen los trabajos sin procesar. Como tal, en comparación con la técnica anterior de activar un cierto número fijo de subprocesos y asignar los trabajos fijos a procesar a los subprocesos, la presente modalidad puede usar el umbral preestablecido sin procesar del trabajo y el valor de activación del subproceso preestablecido, respectivamente. las situaciones del número de trabajo sin procesar y el número de subproceso existente en el sistema, y activa diferentes números de los nuevos subprocesos para las diferentes situaciones, lo que tiene mejores efectos de procesamiento de trabajos y evita una presión relativamente grande en el sistema en el mantenimiento de subprocesos.
Debe explicar que en el sistema, el número de trabajo sin procesar cambia con los trabajos que el subproceso procesa y el subproceso sale después de completar el proceso a su trabajo. Como tal, el número de subproceso y el número de trabajo sin procesar en el sistema varían. Por lo tanto, para una determinada etapa de procesamiento en el sistema, la modalidad anterior puede implementarse solo una vez, o puede implementarse circularmente muchas veces, es decir, la modalidad anterior se realiza en cada intervalo de tiempo preestablecido hasta que los trabajos de destino se procesen completamente.
Con referencia a la figura 2, se muestra un diagrama de flujo de la segunda modalidad del método de procesamiento de trabajos proporcionado por la presente descripción. Como se muestra en la figura 2, esta modalidad puede incluir específicamente las etapas S201 a S209.
Etapa S201: determinar el número de trabajos sin procesaren los trabajos de destino y tomar este número como el número de trabajo sin procesar.
Etapa S202: determinar el número de subprocesos que procesan los trabajos de destino y tomar este número como el número de subproceso de procesamiento.
Es necesario explicar que las explicaciones sobre la etapa S201 y la etapa S202 pueden referirse a la primera modalidad anterior del método de procesamiento de trabajos, y no se describe en la presente descripción repetidamente.
Etapa S203: valorar si el número de trabajos sin procesar es menor que el umbral preestablecido sin procesar. Si es así, se ejecuta la etapa S204; y si no, se ejecuta la etapa S206.
Etapa S204: valorar si el número de subproceso de procesamiento es menor que el valor de subproceso de activación preestablecido. Si es así, se ejecuta la etapa S205.
Etapa 205: activar un número fijo preestablecido de los nuevos subprocesos y activar los nuevos subprocesos para procesar los trabajos sin procesar.
La condición previa para ejecutar esta etapa S205 es que el número de trabajo sin procesar (JobNum) sea más pequeño que el umbral preestablecido sin procesar (S), y el número de subproceso de procesamiento (ThreadNum) sea menor que el valor de subproceso de activación preestablecido (D).
Específicamente, antes de la implementación, se puede preestablecer el umbral de los trabajos sin procesar. Para una descripción conveniente, el umbral de los trabajos sin procesar se puede llamar como el umbral preestablecido sin procesar. Es necesario explicar que el umbral preestablecido sin procesar puede ser un valor numérico establecido de acuerdo con varios factores prácticos, como la velocidad de procesamiento del trabajo, el rendimiento del sistema y similares. La presente descripción no establece una limitación específica.
El número de trabajos sin procesar es menor que el umbral preestablecido sin procesar, lo que muestra que los trabajos de destino sin procesar no son demasiados. Mientras tanto, el número de subprocesos de procesamiento que procesan los trabajos de destino en el sistema es menor que el valor de subproceso de activación preestablecido, lo que muestra que los subprocesos actuales en el sistema son pocos, por lo que es posible iniciar el número fijo preestablecido nuevos subprocesos. Este número fijo predeterminado puede ser el valor umbral de activación predeterminado D. Por supuesto, este número fijo predeterminado puede ser otro valor establecido por el sistema de acuerdo con la situación práctica.
Etapa S206: valorar si el número de subproceso de procesamiento es menor que el umbral de subproceso preestablecido. Si es así, se ejecuta la etapa S207.
Antes de la implementación, el umbral del subproceso está preestablecido. Para una descripción conveniente, este umbral puede denominarse umbral de subproceso preestablecido (M). Puede que se sepa que los recursos del sistema son limitados. Cuando se activan y mantienen subprocesos excesivos, la presión al sistema se sobrecarga, lo que influye en la velocidad de funcionamiento del sistema. Por lo tanto, el umbral de subprocesos preestablecido se usa para limitar el número de subprocesos activados y mantenidos por el sistema.
El umbral de subproceso preestablecido puede ser cualquier valor establecido de acuerdo con factores tales como el rendimiento del sistema o similares. En diferentes escenarios de aplicación, este valor puede ser diferente.
Etapa S207: valorar si un número de preactivación de subproceso es mayor que 1. Si es así, se ejecuta la etapa S208; y si no, se ejecuta la etapa S209.
Etapa S208: determinar el número de preactivación de subprocesos como primer número objetivo y activar el primer número objetivo de los nuevos subprocesos para activar los nuevos subprocesos para procesar los trabajos sin procesar.
La condición previa para ejecutar esta etapa S208 es que el número de trabajo sin procesar sea mayor o igual al umbral preestablecido sin procesar, el número de subproceso de procesamiento sea menor que el umbral de subproceso preestablecido y el número de preactivación del subproceso sea mayor que 1.
El número de subprocesos de procesamiento es menor que el umbral de subprocesos preestablecido, lo que muestra que el número de subprocesos de procesamiento en el sistema no alcanza un valor límite y se puede agregar el nuevo subproceso.
En adición, el número de preactivación de subprocesos está determinado por (el número de trabajo sin procesar - el umbral preestablecido sin procesar)/un valor de intervalo de adición de subproceso preestablecido. El valor de intervalo de adición de subproceso preestablecido representa la activación de un subproceso para los trabajos de cada subproceso agregando valor de intervalo en la parte del número de trabajo sin procesar que excede el umbral preestablecido sin procesar.
El valor de intervalo de adición de subproceso (K) puede ser cualquier valor integral mayor o igual a 1, opcionalmente, un valor integral mayor que 1. De esta manera, el ejemplo no agrega un subproceso nuevo por cada trabajo sin procesar, sino que agrega un subproceso para una pluralidad de trabajos, lo que evita el exceso de subprocesos recién agregados y brinda un mantenimiento de subproceso relativamente grande.
presión al sistema.
Por ejemplo, el valor del intervalo de adición de subprocesos (K) es 5, lo que muestra que necesita calcular cuántos 5 hay en la parte del número de trabajo sin procesar que excede el umbral preestablecido sin procesar, determinando de esta manera el número de subprocesos que se activarán.
Además, por ejemplo, si el número de trabajo sin procesar es 25, y el umbral de trabajo sin procesar preestablecido es 10, la parte del número de trabajo sin procesar que excede el umbral de trabajo sin procesar preestablecido es 25-10, es decir 15, que contiene en su totalidad tres 5s (15/5), por lo que es necesario activar tres nuevos subprocesos.
Es necesario explicar que el número de preactivación de subprocesos se obtiene restando el umbral preestablecido sin procesar del número de trabajo sin procesar y luego dividiendo por el valor del intervalo de adición de subprocesos preestablecido. En aplicaciones prácticas, el número de preactivación del subproceso obtenido puede ser un valor no entero, por lo que el resultado debe redondearse a un número entero. Por ejemplo, si el número de trabajo sin procesar es 23, el umbral preestablecido sin procesar es 10 y el valor del intervalo de adición de subprocesos es 5, (23-10)/5=2,6, y el valor obtenido después de redondear a un número entero es 2. Por lo tanto, se toma 2 como el número de preactivación del subproceso.
El número de preactivación de subprocesos obtenido por la vía anterior es el número de nuevos subprocesos a activar en la presente modalidad.
Etapa S209: determinar un valor de suma del número de preactivación de subprocesos y el valor de subproceso de activación preestablecido como un segundo número objetivo, y activar el segundo número objetivo de los nuevos subprocesos para activar los nuevos subprocesos para procesar los trabajos sin procesar.
En resumen, la condición previa para ejecutar esta etapa S209 es que el número de trabajo sin procesar sea mayor o igual al umbral preestablecido sin procesar, el número de subproceso de procesamiento sea menor que el umbral de subproceso preestablecido y el número de preactivación del subproceso sea menor o igual a 1.
Se puede saber por lo anterior que el número de preactivación de subproceso se obtiene realizando un cálculo de acuerdo con el número de trabajo sin procesar y el valor preestablecido en el sistema. En la implementación, el valor obtenido por cálculo puede ser un valor integral, o un valor no entero, y puede ser mayor o igual a 1, o menor que 1. Si el número de preactivación del subproceso es menor que 1, el valor obtenido después de redondear a un número entero es 0. Para evitar la activación del nuevo subproceso con el número 0, el valor de subproceso de activación preestablecido se puede agregar sobre la base del número de preactivación del subproceso.
Por supuesto, en el caso de que el número de preactivación del subproceso obtenido sea menor que 1, el segundo número objetivo puede obtenerse de otras formas. Por ejemplo, se determina directamente que el número de preactivación del subproceso es 1 y similares.
A partir de lo anterior, se puede saber cuántos subprocesos nuevos se activan en la etapa S208 y en esta etapa 209, siendo uno de los factores determinantes el número de trabajo sin procesar en el sistema. Para diferentes situaciones de procesamiento de los trabajos en el sistema, este valor no es el mismo, de esta manera el número de preactivación del subproceso no es el mismo. Es decir, el número de subprocesos activados en la etapa S208 y esta etapa 209 cada uno es diferente de la etapa S205.
Con referencia a la figura 3, se muestra un diagrama de flujo de la tercera modalidad del método de procesamiento de trabajos proporcionado por la presente descripción. Como se muestra en la figura 3, la presente modalidad puede incluir específicamente las siguientes etapas S301 a S310. La presente modalidad es diferente de la segunda modalidad del método de procesamiento de trabajos en que se incluye la etapa S306 recién agregada. Por supuesto, la ejecución de esta etapa S306 tiene la condición previa correspondiente que se describirá en detalle a continuación. La explicación relacionada con otras etapas en la presente modalidad puede referirse a la segunda modalidad anterior del método de procesamiento de trabajos. La presente modalidad no establece una limitación específica.
Etapa S301: determinar el número de trabajo sin procesar en los trabajos de destino y tomar el número como el número de trabajo sin procesar.
Etapa S302: determinar el número de subprocesos para procesar los trabajos de destino y tomar este número como el número de subproceso de procesamiento.
Etapa S303: valorar si el número de trabajos sin procesar es menor que el umbral preestablecido sin procesar. Si es así, se ejecuta la etapa S304; y si no, se ejecuta la etapa S307.
Etapa S304: valorar si el número de subproceso de procesamiento es menor que el valor de subproceso de activación preestablecido. Si es así, se ejecuta la etapa S305; y si no, se ejecuta la etapa S306.
Etapa 305: activar el número fijo preestablecido de los nuevos subprocesos y activar los nuevos subprocesos para procesar los trabajos sin procesar.
Etapa S306: suspender una duración preestablecida y luego volver al paso S301.
Si el número de trabajo sin procesar es menor que el umbral preestablecido sin procesar y el número de subproceso de procesamiento es mayor o igual al valor de subproceso de activación preestablecido, esta etapa 306 se ejecuta para suspender la duración preestablecida y luego volver a la etapa S301 para la siguiente ronda de realizar el método de procesamiento del trabajo.
Debe explicar que, a diferencia de la etapa S305 de activar los nuevos subprocesos, esta etapa 306 es suspender. La ventaja de esta configuración es que los trabajos sin procesar son pocos y el número de subprocesos de procesamiento es relativamente grande, por lo que se puede saber que los subprocesos que procesan los trabajos actuales pueden continuar buscando el trabajo sin procesar en el grupo de trabajos para proceso después de completar el proceso a los trabajos actuales siempre que no salgan. Por lo tanto, los subprocesos usados actualmente pueden usarse para procesar los trabajos sin procesar restantes actuales. Si el nuevo subproceso se activa de nuevo, el nuevo subproceso puede provocar un desecho de recursos. Por tanto, esta etapa es suspender.
La duración de la suspensión es un valor preestablecido, que puede ser cualquier valor establecido de acuerdo con la situación específica del sistema. La presente modalidad no establece una limitación específica.
Etapa S307: valorar si el número de subproceso de procesamiento es menor que el umbral de subproceso preestablecido. Si es así, se ejecuta la etapa S308; y si no, se ejecuta la etapa S306.
Etapa S308: valorar si el número de preactivación del subproceso es mayor que 1. Si es así, se ejecuta la etapa S309; y si no, se ejecuta la etapa S310.
Etapa S309: determinar el número de preactivación de subprocesos como el primer número objetivo y activar el primer número objetivo de los nuevos subprocesos para activar los nuevos subprocesos para procesar los trabajos sin procesar. La forma de determinar el número de preactivación del subproceso es (el número de trabajo sin procesar - el umbral preestablecido sin procesar)/el valor del intervalo de adición de subproceso preestablecido.
Etapa S310: determinar el valor de la suma del número de preactivación de subprocesos y el valor de subproceso de activación preestablecido como el segundo número objetivo, y activar el segundo número objetivo de los nuevos subprocesos para activar los nuevos subprocesos para procesar los trabajos sin procesar.
Si el número de trabajo sin procesar es mayor o igual al umbral preestablecido sin procesar y el número de subproceso de procesamiento es mayor o igual al umbral de subproceso preestablecido, la etapa anterior S306 se ejecuta para suspender.
Específicamente, aunque el número de trabajo sin procesar es mayor o igual al umbral preestablecido sin procesar, el número de subproceso de procesamiento es mayor o igual al umbral de subproceso preestablecido, lo que muestra que si los subprocesos que existen actualmente en el sistema han superado el umbral, los umbrales nuevos no se pueden activar, seleccionando de esta manera suspender durante un período de tiempo en la presente modalidad.
De lo anterior se puede saber que, en el caso especial de que el número de trabajos sin procesar sea reducido o de que se activen demasiados subprocesos en el sistema, se selecciona para suspender durante un período de tiempo en la presente modalidad, para evitar el desecho de recursos de subproceso en el sistema, o evitar que el subproceso sobrecargado mantenga presión en el sistema.
Es necesario explicar que en la presente modalidad, después de las etapas 305, S309 y S310, se puede volver a la etapa S301 nuevamente para la siguiente ronda de ejecución del método de procesamiento de trabajos.
En aplicaciones prácticas, en cada una de las modalidades anteriores, la forma de implementación específica de activar los nuevos subprocesos para procesar los trabajos sin procesar puede incluir la siguiente etapa A1.
Etapa A1: establecer, para cada subproceso, el número respectivo de trabajos a procesar, de manera que cada subproceso procese los trabajos sin procesar de acuerdo con el número de trabajos a procesar del mismo.
Específicamente, en esta implementación, el número respectivo de trabajos a procesar se establece para cada nuevo subproceso. El número de trabajos a procesar de cada nuevo subproceso puede ser el mismo o ser diferente entre sí. El número de trabajos a procesar puede ser 1 o un valor integral mayor que 1. En caso de que el valor integral sea mayor que 1, cada nuevo subproceso necesita procesar una pluralidad de trabajos sin procesar antes de salir. Esta implementación puede aumentar la eficiencia de los trabajos de procesamiento.
Es necesario explicar que cada subproceso puede salir (estar muerto) solo después de completar el proceso de todos los trabajos. Por ejemplo, el número de trabajos a procesar establecido para el subproceso es 3, por lo que el subproceso puede salir solo después de completar el proceso a tres trabajos sin procesar. Por supuesto, el subproceso puede salir (estar muerto) si no hay un nuevo trabajo sin procesar.
En aplicaciones prácticas, la implementación de determinar el número de trabajos sin procesar en los trabajos de destino y tomar este número como el número de trabajo sin procesar en cada modalidad puede ser que:
en una tabla de trabajos preestablecidos, se cuenta el número de los primeros registros cuyo estado de trabajo es "sin procesar" en los trabajos de destino y el número de los primeros registros se toma como el número de trabajo sin procesar.
Específicamente, la tabla de trabajo está preestablecida, esta tabla de trabajo preestablecida se usa para registrar la información de cada parámetro de los trabajos, que incluye específicamente: una ID de trabajo, un tipo de trabajo, un nombre de trabajo y un estado de trabajo. La identificación del trabajo se usa para marcar de forma exclusiva un trabajo; el tipo de trabajo representa el tipo de trabajo y puede estar representado por un código como 01, 02, etc. el nombre del trabajo es el nombre del tipo de trabajo y corresponde al tipo de trabajo, como 01 representa el trabajo de consulta por lotes, 02 representa el trabajo de eliminación por lotes; y el estado del trabajo incluye: sin procesar, en proceso, proceso exitoso y proceso fallido.
Por lo tanto, si se desea determinar el número de trabajo sin procesar en un cierto tipo de trabajos de destino, es posible buscar, en la tabla de trabajos preestablecidos, el trabajo cuyo estado de trabajo es "sin procesar" y el tipo de trabajo es dicho tipo, y además para contar el número récord de estos trabajos. Para una descripción más conveniente, este número de registro se llama como el primer número de registro y puede llamarse como el número de trabajo sin procesar.
En aplicaciones prácticas, la implementación de determinar el número de subprocesos que procesan los trabajos de destino y tomar este número como el número de subproceso de procesamiento puede ser que:
en la presente tabla de subprocesos, el segundo número de registros cuyo estado de ejecución es "en proceso" y trabajo procesado se marca como el trabajo de destino se cuenta y el segundo número de estos registros se toma como el número de subproceso de procesamiento.
Específicamente, la tabla de subprocesos está preestablecida, esta tabla de subprocesos preestablecida se usa para registrar la información de cada parámetro de los subprocesos, que incluye específicamente: una ID de subproceso, un tipo de trabajo, un nombre de trabajo y un estado de ejecución de subproceso. El ID de subproceso se usa para representar de forma única un subproceso en el sistema; el tipo de trabajo representa el tipo de trabajo ejecutado por el subproceso y puede estar representado por un código como se describió anteriormente; el nombre del trabajo representa el nombre del tipo de trabajo; y el estado de ejecución del subproceso representa si el subproceso está procesando el trabajo, lo que incluye específicamente: sin procesar, en proceso, proceso exitoso y proceso fallido.
Por lo tanto, si se desea determinar el número de subprocesos que procesan los trabajos de destino, es posible buscar, en la tabla de subprocesos preestablecidos, el número de registros cuyo tipo de trabajo es el trabajo de destino y el estado de ejecución del subproceso es "en proceso”, y además contar el número de registros como el segundo número de registro que puede ser llamado además como el número de subproceso de procesamiento.
Además, la presente descripción puede establecer una tabla de subprocesos de trabajo que se usa para registrar algunos valores preestablecidos para los trabajos de destino, que incluyen específicamente: el tipo de trabajo, el nombre del trabajo, el valor de subproceso de activación preestablecido D, el umbral de subproceso preestablecido M, el umbral de trabajo sin procesar predeterminado S y el valor de intervalo de adición de subproceso K.
Las modalidades del dispositivo de procesamiento de trabajos proporcionadas por la presente descripción se introducen más abajo. Es necesario explicar que la siguiente explicación sobre las modalidades del dispositivo de procesamiento de trabajos puede hacer referencia a la de las modalidades del método de procesamiento de trabajos proporcionado anteriormente, y no se describe repetidamente más abajo.
En correspondencia con la primera modalidad anterior del método de procesamiento de trabajos, la presente descripción proporciona la primera modalidad del dispositivo de procesamiento de trabajos. Con referencia a la figura 4, la presente modalidad puede incluir específicamente: un módulo de determinación de número de trabajo sin procesar 401, un módulo de determinación de número de subproceso de procesamiento 402, un módulo de activación de subproceso nuevo 403 y un módulo de trabajo de procesamiento de subproceso nuevo 404 como sigue.
El módulo de determinación del número de trabajo sin procesar 401 determina el número de trabajos sin procesar en los trabajos de destino y toma este número como el número de trabajo sin procesar.
El módulo de determinación del número de subproceso de procesamiento 402 determina el número de subprocesos que están procesando los trabajos de destino y tomando este número como número de subproceso de procesamiento.
El nuevo módulo de activación de subprocesos 403 activa, de acuerdo con diferentes reglas de activación de subprocesos, el número correspondiente de nuevos subprocesos en función de la relación de tamaño entre el número de trabajo sin procesar y el umbral preestablecido sin procesar y la relación de tamaño entre el número de subproceso de procesamiento y la activación preestablecida valor del subproceso.
El nuevo módulo de trabajo de procesamiento de subprocesos 404 activa los nuevos subprocesos para procesar los trabajos sin procesar.
En lo anterior, el umbral preestablecido sin procesar se usa para mostrar que necesita agregar nuevos subprocesos si el número de trabajo sin procesar alcanza este umbral; y el valor preestablecido del subproceso de activación se usa para representar un valor mínimo de los subprocesos activados para los trabajos de destino.
Se puede saber por lo anterior que la presente descripción proporciona la modalidad del dispositivo de procesamiento de trabajos, en el que el módulo de determinación del número de trabajo sin procesar 401 determina el número de trabajo sin procesar en un cierto tipo de trabajos en el sistema y el módulo de determinación del número de subproceso de procesamiento 402 determina el número de subprocesos que actualmente están procesando este tipo de trabajos al principio; luego, el nuevo módulo de activación de subprocesos 403 determina diferentes reglas de activación de subprocesos en función de la relación de tamaño entre el número de trabajo sin procesar y el umbral preestablecido sin procesar del trabajo y la relación de tamaño entre el número de subproceso actual y el umbral de activación de subproceso preestablecido, y activa diferentes números de nuevos subprocesos por las diferentes reglas de activación de subprocesos; y el nuevo módulo de trabajo de procesamiento de subprocesos 404 hace que los nuevos subprocesos procesen los trabajos sin procesar. Como tal, en comparación con la técnica anterior de activar un cierto número fijo de subprocesos y asignar los trabajos fijos a procesar a los subprocesos, la presente modalidad puede usar el umbral preestablecido sin procesar del trabajo y el umbral preestablecido de activación del subproceso, respectivamente, determinar el número de trabajo sin procesar y el número de subprocesos existentes en el sistema, y luego activa diferentes números de los nuevos subprocesos para diferentes situaciones, lo que tiene mejores efectos de procesamiento de trabajos y evita una presión de mantenimiento de subprocesos relativamente grande en el sistema.
En la aplicación práctica, en el dispositivo de procesamiento de trabajos anterior, el nuevo módulo de activación de subproceso 403 puede incluir específicamente: un primer submódulo de activación de nuevo subproceso, un segundo submódulo de activación de nuevo subproceso y un tercer submódulo de activación de nuevo subproceso como sigue.
El primer submódulo de activación de subprocesos nuevos activa el número fijo preestablecido de los nuevos subprocesos donde el número de trabajo sin procesar es menor que el umbral preestablecido sin procesar y el número de subprocesos de procesamiento es menor que el valor de subproceso de activación preestablecido.
El segundo submódulo de activación de subprocesos nuevos determina el número de preactivación de subprocesos como el primer número de destino y activa el primer número de destino de los nuevos subprocesos, donde el número de trabajo sin procesar es mayor o igual al umbral preestablecido sin procesar, el número de subproceso de procesamiento es menor que el umbral de subproceso preestablecido y el número de preactivación del subproceso es mayor que 7.
El tercer submódulo de activación de subprocesos nuevos determina el valor de suma del número de preactivación de subprocesos y el valor de subproceso de activación preestablecido como segundo número objetivo y activa el segundo número objetivo de los subprocesos nuevos, donde el número de trabajo sin procesar es mayor o igual que al umbral preestablecido sin procesar, el número de subproceso de procesamiento es menor que el umbral de subproceso preestablecido y el número de preactivación del subproceso es menor o igual a 7.
El número de preactivación de subprocesos está determinado por (el número de trabajo sin procesar - el umbral preestablecido sin procesar)/el valor de intervalo de adición de subproceso preestablecido, en donde el valor de intervalo de adición de subproceso preestablecido representa la activación de un subproceso para los trabajos de cada subproceso agregando valor de intervalo en el parte del número de trabajo sin procesar que excede el umbral preestablecido sin procesar.
En adición, el dispositivo de procesamiento de trabajos anterior puede incluir además: un cuarto submódulo de activación de subprocesos nuevos y un quinto submódulo de activación de subprocesos nuevos como sigue.
El cuarto submódulo de activación de subproceso nuevo activa el primer submódulo de activación de subproceso nuevo nuevamente después de suspender la duración preestablecida, donde el número de trabajo sin procesar es menor que el umbral preestablecido sin procesar y el número de subproceso de procesamiento es mayor o igual que el valor de subproceso de activación preestablecido.
El quinto submódulo de activación de subproceso nuevo activa el submódulo de activación de subproceso nuevo nuevamente después de suspender la duración preestablecida, donde el número de trabajo sin procesar es mayor o igual al umbral preestablecido sin procesar y el número de subproceso de procesamiento es mayor o igual al preestablecido activando el valor del subproceso.
En la implementación, en el dispositivo de procesamiento de trabajos anterior, el nuevo módulo de trabajo de procesamiento de subprocesos 404 puede incluir específicamente: un nuevo submódulo de trabajo de procesamiento de subprocesos como sigue.
El nuevo submódulo de trabajo de procesamiento de subprocesos establece el número respectivo de trabajos a procesar para cada subproceso, de manera que cada subproceso procesa los trabajos sin procesar de acuerdo con el número de trabajos a procesar del mismo.
En aplicaciones prácticas, el módulo de determinación de número de trabajo sin procesar 401 puede incluir específicamente: una tabla que determina el submódulo de número de trabajo sin procesar como sigue.
La tabla que determina el submódulo de número de trabajo sin procesar cuenta, en la tabla de trabajos preestablecidos, el número de los primeros registros cuyo estado de trabajo es "sin procesar" en los trabajos de destino y determina el número de los primeros registros como el número de trabajo sin procesar.
El módulo de determinación de número de subproceso de procesamiento 402 puede incluir específicamente: una tabla que determina el submódulo de número de subproceso de procesamiento como sigue.
La tabla que determina el submódulo del número de subprocesos de procesamiento cuenta, en la tabla de subprocesos preestablecidos, el número de segundos registros cuyo estado de ejecución está "en proceso" y el trabajo procesado se marca como el trabajo de destino y determina el número de los segundos registros como el procesamiento número de subproceso.
Es necesario explicar que cada modalidad de la presente descripción se describe de manera progresiva, lo que se centra en cada modalidad es la diferencia con otras modalidades, y es posible que las partes iguales o similares entre cada modalidad se refieran entre sí.
Como entienden los expertos en la técnica, el dispositivo de procesamiento de trabajos de cada modalidad de la presente descripción puede ser implementado por el ordenador que incluye un procesador configurado para ejecutar las etapas del método de procesamiento de trabajos de cada modalidad en la presente descripción. Alternativamente, el dispositivo de procesamiento de trabajos puede ser implementado por un ordenador que incluye una memoria y un procesador que lleva a cabo las etapas del método de procesamiento de trabajos en la presente descripción ejecutando los programas almacenados en la memoria.
Además, debe explicar que en la especificación, el término de relación, como el primero y el segundo, solo se usa para diferenciar una entidad u operación de otra entidad u operación, en lugar de requerir o implicar necesariamente que las entidades u operaciones tengan tal relación práctica u orden. Además, el término "incluye(s)", "incluye", "contiene(s)", "contiene" o sus otras variantes están destinados a recubrir otra inclusión no exclusiva, de esta manera el proceso, método, artículo o dispositivo que incluye una serie de elementos no solo incluye los elementos, sino que también incluye otros elementos que no se enumeran explícitamente, o incluyen elementos inherentes a dicho proceso, método, artículo o dispositivo. Sin más limitaciones, el elemento definido por la oración "incluyendo un ..." no excluye los mismos elementos adicionales que existen en el proceso, método, artículo o dispositivo, incluidos los elementos.

Claims (5)

REIVINDICACIONES
1. Un método de procesamiento de trabajos implementado por un ordenador, que comprende:
determinar un número de trabajos sin procesar en trabajos de destino y tomar este número como un número de trabajo sin procesar (S101);
determinar un número de subprocesos que procesan los trabajos de destino y tomar este número como un número de subproceso de procesamiento (S102);
activar (S103), de acuerdo con las reglas de activación de subprocesos, el número correspondiente de nuevos subprocesos basado en una relación de tamaño entre el número de trabajo sin procesar y un umbral preestablecido sin procesar y una relación de tamaño entre el número de subproceso de procesamiento y un valor de subproceso de activación preestablecido; y
activar (S104) los nuevos subprocesos para procesar los trabajos sin procesar, en donde el umbral preestablecido sin procesar se usa para mostrar que es necesario agregar un nuevo subproceso donde el número de trabajo sin procesar alcanza el umbral preestablecido sin procesar y en donde el valor preestablecido del subproceso de activación se usa para representar un valor mínimo de los subprocesos activados para los trabajos de destino; en donde la activación, de acuerdo con las reglas de activación de subprocesos, el número correspondiente de los nuevos subprocesos en base a la relación de tamaño entre el número de trabajo sin procesar y el umbral preestablecido sin procesar y la relación de tamaño entre el número de subproceso de procesamiento y el valor de subproceso de activación preestablecido comprende:
activar (S205) un número fijo preestablecido de los nuevos subprocesos, donde el número de trabajo sin procesar es menor que el umbral preestablecido sin procesar y el número de subproceso de procesamiento es menor que el valor del subproceso de activación preestablecido;
determinar un número de preactivación de subprocesos como primer número objetivo y activar el primer número objetivo de los nuevos subprocesos (S208), donde el número de trabajo sin procesar es mayor o igual al umbral preestablecido sin procesar, el número de subproceso de procesamiento es menor que un umbral de subproceso preestablecido y un número de preactivación de subproceso es mayor que 1;
determinar un valor de suma del número de preactivación de subprocesos y el valor de subproceso de activación preestablecido como un segundo número de destino, y activar el segundo número de destino de los nuevos subprocesos (S209), donde el número de trabajo sin procesar es mayor o igual que el umbral preestablecido sin procesar, el número de subproceso de procesamiento es menor que el umbral de subproceso preestablecido y el número de preactivación de subproceso es menor o igual a 1;
en donde el número de preactivación de subprocesos está determinado por (el número de trabajo sin procesar - el umbral preestablecido sin procesar)/un valor de intervalo de adición de subprocesos preestablecido; y el valor de intervalo de adición de subproceso preestablecido representa la activación de un subproceso para los trabajos de cada valor de intervalo de adición de subproceso en una parte del número de trabajo sin procesar que excede el umbral preestablecido sin procesar.
2. El método de procesamiento de trabajos de acuerdo con la reivindicación 1, que comprende además:
suspender (S306) una duración preestablecida y luego volver a determinar (S301) el número de trabajos sin procesar en los trabajos de destino nuevamente y tomar este número como el número de trabajo sin procesar, donde el número de trabajo sin procesar es menor que el umbral preestablecido sin procesar y el número de subproceso de procesamiento es mayor o igual al valor de subproceso de activación preestablecido; y suspender (S306) la duración preestablecida y luego volver a determinar (S301) el número de trabajos sin procesar en los trabajos de destino nuevamente y tomar este número como el número de trabajo sin procesar, donde el número de trabajo sin procesar es mayor o igual al umbral preestablecido sin procesar y el número de subproceso de procesamiento es mayor o igual al umbral de subproceso preestablecido.
3. El método de procesamiento de trabajos de acuerdo con la reivindicación 1, en donde la activación de los nuevos subprocesos para procesar los trabajos sin procesar comprende:
establecer, para cada subproceso, un número de trabajos a procesar por sí mismo, de manera que cada subproceso procese los trabajos sin procesar de acuerdo con el número de trabajos a procesar del mismo.
4. El método de procesamiento de trabajos de acuerdo con la reivindicación 1,
en donde la determinación del número de trabajos sin procesar en los trabajos de destino y tomar este número como el número de trabajo sin procesar comprende: contar, en una tabla de trabajos preestablecidos, un número de primeros registros cuyo estado de trabajo es "sin procesar" en los trabajos de destino y determinar el número de los primeros registros como el número de trabajo sin procesar; y
en donde determinar el número de subprocesos que procesan los trabajos de destino y tomar este número como el número de subproceso de procesamiento comprende: contar, en una tabla de subprocesos preestablecidos, un número de segundos registros cuyo estado de ejecución es "en proceso" y el trabajo procesado es marcado como el trabajo de destino y determinar el número de segundos registros como el número de subproceso de procesamiento.
5. Un dispositivo de procesamiento de trabajos, que incluye:
un módulo de determinación de número de trabajo sin procesar (401) para determinar un número de trabajos sin procesar en trabajos de destino y tomar este número como un número de trabajo sin procesar;
un módulo de determinación del número de subprocesos de procesamiento (402) para determinar un número de subprocesos que procesan los trabajos de destino y tomar este número como un número de subprocesos de procesamiento;
un nuevo módulo de activación de subprocesos (403) para activar, de acuerdo con las reglas de activación de subprocesos, el número correspondiente de nuevos subprocesos en función de una relación de tamaño entre el número de trabajo sin procesar y un umbral preestablecido sin procesar y una relación de tamaño entre el número de subproceso de procesamiento y una activación preestablecida valor del subproceso; y
un nuevo módulo de trabajo de procesamiento de subprocesos (404) para activar los nuevos subprocesos para procesar los trabajos sin procesar,
en donde el umbral preestablecido sin procesar se usa para mostrar que se necesita agregar un nuevo subproceso donde el número de trabajo sin procesar alcanza el umbral preestablecido sin procesar y en donde el valor preestablecido del subproceso de activación se usa para representar un valor mínimo de los subprocesos activados para los trabajos de destino;
en donde el nuevo módulo de activación de subproceso comprende:
un primer submódulo de activación de subprocesos nuevos para activar un número fijo preestablecido de los nuevos subprocesos, donde el número de trabajo sin procesar es menor que el umbral preestablecido sin procesar y el número de subprocesos de procesamiento es menor que el valor de subproceso de activación preestablecido; un segundo submódulo de activación de subprocesos nuevos para determinar un número de preactivación de subprocesos como primer número de destino y activar el primer número de destino de los nuevos subprocesos, donde el número de trabajo sin procesar es mayor o igual que el umbral preestablecido sin procesar, el número de subproceso de procesamiento es menor que un umbral de subproceso preestablecido y el número de preactivación del subproceso es mayor que 7; y
un tercer submódulo de activación de subprocesos nuevos para determinar un valor de suma del número de preactivación de subprocesos y el valor de subproceso de activación preestablecido como un segundo número de destino, y la activación del segundo número de destino de los nuevos subprocesos, donde el número de trabajo sin procesar es mayor que o igual al umbral preestablecido sin procesar, el número de subproceso de procesamiento es menor que el umbral de subproceso preestablecido y el número de preactivación del subproceso es menor o igual a 7;
en donde el número de preactivación del subproceso está determinado por (el número de trabajo sin procesar - el umbral preestablecido sin procesar)/un valor de intervalo de adición de subproceso preestablecido, y el valor de intervalo de adición de subproceso preestablecido representa la activación de un subproceso para los trabajos de cada subproceso agregando el valor de intervalo en una parte del número de trabajo sin procesar que excede los umbrales preestablecidos sin procesar.
El dispositivo de procesamiento de trabajos de acuerdo con la reivindicación 5, que comprende además:
un cuarto submódulo de activación de subproceso nuevo para suspender una duración preestablecida y luego reactivar el primer submódulo de activación de subproceso nuevo, donde el número de trabajo sin procesar es menor que el umbral preestablecido sin procesar y el número de subproceso de procesamiento es mayor o igual al valor de subproceso de activación preestablecido; y
un quinto submódulo de activación de subproceso nuevo para suspender la duración preestablecida y luego volver a activar el submódulo de activación de subproceso nuevo, donde el número de trabajo sin procesar es mayor o igual al umbral preestablecido sin procesar y el número de subproceso de procesamiento es mayor o igual al umbral de subproceso preestablecido.
El dispositivo de procesamiento de trabajos de acuerdo con la reivindicación 5, en donde el nuevo módulo de trabajo de procesamiento de subprocesos comprende:
un nuevo submódulo de trabajo de procesamiento de subprocesos para establecer, para cada subproceso, un número de trabajos a procesar por sí mismo, de manera que cada subproceso procese los trabajos sin procesar de acuerdo con el número de trabajos a procesar del mismo.
El dispositivo de procesamiento de trabajos de acuerdo con la reivindicación 5,
en donde el módulo de determinación del número de trabajo sin procesar comprende: una tabla que determina el submódulo del número de trabajo sin procesar para contar, en una tabla de trabajo preestablecida, un número de primeros registros cuyo estado de trabajo es "sin procesar" en los trabajos de destino y determinar el número de los primeros registros como el número de trabajo sin procesar; y
en donde el módulo de determinación del número de subprocesos de procesamiento comprende: una tabla que determina el submódulo de número de subprocesos de procesamiento para contar, en una tabla de subprocesos preestablecidos, un número de segundos registros cuyo estado de ejecución está "en proceso" y el trabajo procesado se marca como el trabajo de destino y la determinación el número de los segundos registros como el número de subproceso de procesamiento.
ES15893170T 2015-11-10 2015-12-25 Método y dispositivo de procesamiento de trabajos Active ES2856971T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510763240.1A CN105389208B (zh) 2015-11-10 2015-11-10 作业处理方法及装置
PCT/CN2015/098826 WO2016188102A1 (zh) 2015-11-10 2015-12-25 作业处理方法及装置

Publications (1)

Publication Number Publication Date
ES2856971T3 true ES2856971T3 (es) 2021-09-28

Family

ID=55421515

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15893170T Active ES2856971T3 (es) 2015-11-10 2015-12-25 Método y dispositivo de procesamiento de trabajos

Country Status (5)

Country Link
EP (1) EP3147785B1 (es)
CN (1) CN105389208B (es)
ES (1) ES2856971T3 (es)
SG (1) SG11201610718YA (es)
WO (1) WO2016188102A1 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341050B (zh) * 2016-04-28 2022-12-27 北京京东尚科信息技术有限公司 基于动态线程池的服务处理方法和装置
CN109492024A (zh) * 2018-10-26 2019-03-19 平安科技(深圳)有限公司 数据处理方法、装置、计算机设备以及存储介质
CN111367627B (zh) * 2018-12-26 2024-02-13 三六零科技集团有限公司 一种读写磁盘任务的处理方法和装置
CN110321206A (zh) * 2019-06-26 2019-10-11 北京金山安全软件有限公司 一种服务管理方法、装置、电子设备及存储介质
CN111078386A (zh) * 2019-12-30 2020-04-28 北京奇艺世纪科技有限公司 一种分布式调度系统的控制方法及控制装置
CN111444225B (zh) * 2020-03-27 2024-03-26 中国人民银行清算总中心 通用指标解析方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467390B2 (en) * 2003-04-01 2008-12-16 International Business Machines Corporation Enhanced staged event-driven architecture
CN100347675C (zh) * 2004-06-29 2007-11-07 北京大学 应用服务器的性能优化方法
US8239872B2 (en) * 2008-12-11 2012-08-07 Hewlett-Packard Development Company, L.P. Method and system for controlling distribution of work items to threads in a server
CN102147750A (zh) * 2011-01-27 2011-08-10 中国农业银行股份有限公司 作业处理方法和系统
CN102393822B (zh) * 2011-11-30 2014-03-12 中国工商银行股份有限公司 批量调度系统及方法
CN103543987B (zh) * 2012-07-11 2016-09-28 Sap欧洲公司 用于高效并行运行的反馈驱动调节
CN104407922B (zh) * 2014-10-29 2019-03-01 中国建设银行股份有限公司 一种异步批处理调度方法及系统

Also Published As

Publication number Publication date
CN105389208A (zh) 2016-03-09
CN105389208B (zh) 2018-12-14
EP3147785A4 (en) 2017-08-02
EP3147785A1 (en) 2017-03-29
EP3147785B1 (en) 2021-02-24
WO2016188102A1 (zh) 2016-12-01
SG11201610718YA (en) 2017-02-27

Similar Documents

Publication Publication Date Title
ES2856971T3 (es) Método y dispositivo de procesamiento de trabajos
US8479207B2 (en) Priority inheritance in multithreaded systems
US9471318B2 (en) System management and instruction counting
US9141433B2 (en) Automated cloud workload management in a map-reduce environment
JP5575774B2 (ja) マルチスレッドプロセッサ内で割り込みを割り当てるための方法及びシステム
EP2372548A1 (en) Virtual machine monitor and scheduling method thereof
Chen et al. Fixed-relative-deadline scheduling of hard real-time tasks with self-suspensions
CN105359101B (zh) 用于多核处理器的系统管理中断处理
CN104636202A (zh) 计算机系统及其排程方法
Kim et al. A server-based approach for predictable GPU access control
US20180329750A1 (en) Resource management method and system, and computer storage medium
US10983846B2 (en) User space pre-emptive real-time scheduler
CN111414626A (zh) 基于tee扩展的实时性保证方法及系统
Patel et al. Analytical enhancements and practical insights for MPCP with self-suspensions
Marinho et al. Limited pre-emptive global fixed task priority
US20170116039A1 (en) Low latency scheduling on simultaneous multi-threading cores
KR102154080B1 (ko) 전력 관리 시스템, 이를 포함하는 시스템 온 칩 및 모바일 기기
RU2417413C2 (ru) Способ доставки прерываний в драйверы пользовательского режима
Abeni et al. EDF scheduling of real-time tasks on multiple cores: adaptive partitioning vs. global scheduling
Naghibzadeh et al. Efficient semi-partitioning and rate-monotonic scheduling hard real-time tasks on multi-core systems
US9170839B2 (en) Method for job scheduling with prediction of upcoming job combinations
Teng et al. Scheduling real-time workflow on MapReduce-based cloud
CN113238832A (zh) 虚拟处理器的调度方法、装置、设备及计算机存储介质
US12578997B2 (en) Compiler-directed graph-based command dispatch for accelerators
CN113138909A (zh) 负载统计方法、装置、存储介质及电子设备