Brevet FR3025636A1 — publié le 20160311

Procédé de production automatisée d'un diagramme d'analyse d'une activité de traitements planifiés DOMAINE TECHNIQUE DE L'INVENTION [0001] L'invention se rapporte à un procédé de production automatisée d'un diagramme d'analyse d'une activité de traitements planifiés. [0002] On entendra par « une activité de traitements planifiés » dans le cadre du présent document une activité liée à des processus lancés par un outil usuellement désigné comme « planificateur de tâche » ou aussi « cron ». Un tel planificateur sert, par exemple, pour exécuter des travaux « en dehors des heures de bureau », c'est-à-dire des travaux traitant des données produites par des opérateurs humains, ces traitements se déroulant en l'absence desdits opérateurs. Cela permet une utilisation raisonnée du système. En effet, souvent ces traitements sont très consommateurs de ressources. Le fait de les exécuter en même temps que la saisie des données par des opérateurs risque de ne pas laisser assez de ressource disponible pour ladite saisie. On choisit donc de décaler les deux activités dans le temps : saisie par les opérateurs en journée, traitement des données produites hors journée. ETAT DE LA TECHNIQUE ANTERIEURE [0003] Dans le cadre de la gestion d'application, il faut souvent intervenir lors d'incidents en environnement de production. Il faut alors analyser ce qui s'est passé dans l'environnement production afin de déterminer la ou les origines du problème. Lorsqu'il s'agit d'un problème lié aux travaux planifiés, on ne dispose généralement que des informations brutes liées aux mécanismes de planification, aussi appelés mécanismes d'ordonnancement : la date et l'heure de départ, le temps d'exécution ou la date et l'heure d'arrêt des différents travaux planifiés. [0004] Ces données brutes sont des fichiers textes particulièrement sibyllins. Ces fichiers sont d'autant plus sibyllins qu'ils comportent des données relatives à un grand nombre de travaux. En plus d'informations diverses sur ces travaux, ces fichier comportent des informations relatives à un état du planificateur gérant les travaux. Ces caractéristiques font qu'il est fastidieux, si ce n'est impossible, de tirer le moindre diagnostique de ces informations. 3025636 2 [0005] C'est pourtant ce que tentent les hommes du métier en utilisant des éditeurs de texte ou au mieux des tableurs. [0006] Les temps d'analyse des incidents sont donc longs et les conclusions des analyses s'apparentent le plus souvent à des conjectures. Dans la pratique le 5 problème est que les intervenants sont dans l'impossibilité d'exposer clairement le problème ayant causé l'incident et sont déduits à proposer des solutions passe partout comme : augmenter la puissance de tous les serveurs. EXPOSE DE L'INVENTION 10 [0007] L'invention vise à remédier à tout ou partie des inconvénients de l'état de la technique identifiés ci-dessus, et notamment à proposer des moyens pour permettre une analyse pertinente et rapide des informations produites par l'environnement de production. Cette analyse est rendu rapide et pertinente par la production d'un diagramme permettant juxtaposition de données pertinentes. Des 15 données pertinentes sont sélectionnées, parmi celles produites par les systèmes, selon des critères propres à l'invention. [0008] Pour permettre de visualiser de manière efficace l'exécution des différents travaux planifiés et ainsi faciliter l'analyse de l'ordonnancement de ces travaux, l'invention génère des diagrammes, à partir de données brutes 20 sélectionnées du système d'ordonnancement. L'invention permet de juxtaposer des représentations des données sélectionnée. [0009] Avec l'invention, il est également possible de juxtaposer des données brutes sélectionnées avec des données de consommation de ressources d'un ou plusieurs serveurs. Cette juxtaposition permet d'analyser rapidement des liens de 25 corrélation entre l'exécution des travaux planifiés et l'évolution des consommations de ressources de serveurs impliqués dans l'exécution desdits travaux. [0010] II est ainsi facile de mesurer des dérives dans les dates d'exécutions et de corréler ces dérives avec les consommations de ressources. 30 [0011] Dans ce dessein, un aspect de l'invention se rapporte à un procédé de production automatisée d'un diagramme d'analyse d'une activité de traitements planifiés caractérisé en ce qu'il comporte les étapes suivantes : 3025636 3 - sélection d'au moins un travail parmi des travaux d'au moins un planificateur de travaux selon au moins un.critère relatif à au moins une métadonnée associée aux travaux ; - définition d'une période d'analyse ; 5 - extraction de données de travail d'au moins un journal de travaux du au moins un planificateur de travaux selon la période définie et selon le au moins un travail sélectionné, une donnée de travail comportant au moins une date de début de travail et une date de fin de travail ; - calcul de coordonnées d'affichage d'une représentation d'une donnée 10 travail en fonction de sa date de début et de sa date de fin et, pour chacune desdites dates, selon un quotient d'une division entière d'un écart entre les dîtes dates et une date de référence par un nombre prédéterminé. [0012] Outre les caractéristiques principales qui viennent d'être mentionnées 15 dans le paragraphe précédent, le procédé selon l'invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon les combinaisons techniquement possibles: - une métadonnée d'un travail comporte un identifiant dudit travail ; - une métadonnée d'un travail est une affinité avec une ressource 20 matérielle d'un dispositif de traitement automatisé impliquée dans la mise en oeuvre du travail ; - le procédé comporte également les étapes suivantes : déploiement d'au moins une sonde ; collecte des données selon au moins la sonde déployée : 25 - production de données d'exploitation pas la ou les sondes déployées ; - enregistrement horodaté et associé à un identifiant de sonde des données produites ; - calcul de coordonnées d'affichage d'une représentation d'une 30 donnée d'exploitation enregistrée selon la date de la donnée d'exploitation et un identifiant de sonde ; - une sonde à déployer est choisie en fonction d'une métadonnée d'au moins un travail parmi le ou les travaux sélectionnés ; 3025636 4 - la donnée d'exploitation enregistrée utilisée pour le calcul des coordonnées d'affichage est sélectionnée en fonction d'une métadonnée d'au moins un travail parmi le ou les travaux sélectionnés ; [0013] L'invention se rapporte également à un dispositif de stockage 5 numérique comportant un fichier correspondant à des codes instructions mettant en oeuvre le procédé selon une combinaison des caractéristiques techniques précédentes. [0014] L'invention se rapporte également à un dispositif mettant en oeuvre le procédé selon une combinaison des caractéristiques techniques précédentes. 10 BREVE DESCRIPTION DES FIGURES [0015] D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui suit, en référence aux figures annexées, qui illustrent : - la figure 1 : une illustration de moyens pour la mise en oeuvre de 15 l'invention ; - la figure 2 : une illustration d'étapes du procédé selon l'invention ; - la figure 3 : une illustration d'un diagramme produit par l'invention ; - la figure 4 : une illustration d'un diagramme produit par l'invention. [0016] Pour plus de clarté, les éléments identiques ou similaires sont repérés 20 par des signes de référence identiques sur l'ensemble des figures. [0017] L'invention sera mieux comprise la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Celles-ci sont présentées à titre indicatif et nullement limitatif de l'invention. 25 DESCRIPTION DETAILLEE D'UN MODE DE REALISATION [0018] La figure 1 montre un dispositif serveur 100 d'analyse. Le serveur de d'analyse comporte : - un microprocesseur 110 ; - des moyens de stockage 120, par exemple un disque dur qu'il soit local 30 ou distant, qu'il soit simple ou en grille (par exemple RAID) ; - une interface 130 de communication, par exemple une carte de communication selon le protocole Ethernet. D'autres protocoles sont envisageables comme IP, « Fibre Channel » ou InfiniBand. 3025636 5 [0019] Le microprocesseur 110 du serveur de supervision, les moyens 120 de stockage du serveur de supervision et l'interface 130 de communication du serveur de supervision sont interconnectés par un bus 150. [0020] Lorsque l'on prête une action à un dispositif celle-ci est en fait effectuée 5 par un microprocesseur du dispositif commandé par des codes instructions enregistrés dans une mémoire du dispositif. Si l'on prête une action à une application, celle-ci est en fait effectuée par un microprocesseur du dispositif dans une mémoire duquel les codes instructions correspondant à l'application sont enregistrés. Lorsqu'un dispositif, ou une application émet un message, ce 10 message est émis via une interface de communication dudit dispositif ou de la dite application. Ces principes sont applicables que le dispositif soit réel ou virtuel. [0021] La figure 1 montre que les moyens de stockage du serveur d'analyse comportent : - une zone 120.1 d'analyse comportant des codes instructions 15 correspondant à une mise en oeuvre du procédé selon l'invention ; - une zone 120.2 d'enregistrement de données d'exploitation. [0022] La zone 120.2 d'enregistrement de données d'exploitation est, une zone structurée dans laquelle une sonde enregistre des données qu'elle produit. Une sonde est un programme déployé sur un serveur pour produire des données 20 d'exploitation. Ces données sont enregistrées de manière à pouvoir être associées à un paramétrage de sonde. Cette association est réalisée soit, par exemple, par un contenu de la zone d'enregistrement, soit, dans un autre exemple, par un nom de la zone. Dans ce dernier cas, la zone d'enregistrement des données d'exploitation est un fichier dont le nom comporte un identifiant de 25 sonde. Dans cet autre exemple, la zone 120.2 comporte autant de fichier qu'il y a de sondes produisant des données d'exploitation. [0023] Un paramétrage de sonde est un enregistrement qui décrit la sonde. En particulier il décrit une cible et un type. Une cible est, par exemple, une adresse d'un serveur ou un nom qualifié d'un serveur. Un type est un code prédéterminé 30 correspondant à des données que devra produire la sonde. Un paramétrage de sonde comporte aussi des informations temporelles précisant la période d'activité de la sonde. 3025636 6 [0024] La figure 1 montre que le serveur 100 d'analyse est connecté à un réseau 200. [0025] La figure 1 montre, connectée au réseau 200 : - un serveur 300 de traitements comportant : 5 - un microprocesseur 310 ; - des moyens de stockage 320 comportant : - une zone 320.1 comportant des codes instruction correspondant à des travaux; - une zone 320.2 de planification comportant des 10 enregistrements de panification chaque enregistrement correspondant à un travail planifié. Un enregistrement de planification est aussi appelé une planification ; - une zone 320.3 journal des travaux comportant des enregistrements de travaux, chaque enregistrement de 15 travail étant relié à un enregistrement de planification, et comportant au moins une information sur une exécution dudit travail, par exemple une date de démarrage et/ou une date de fin; - une interface 330 de communication ; 20 - un serveur 400 de données comportant : - un microprocesseur 410 ; - des moyens de stockage 420 comportant : - une zone 420.1 comportant des codes instruction correspondant à un service de base de données; 25 - une interface 430 de communication ; [0026] La figure 1 illustre une architecture applicative comportant deux serveurs, un serveur de traitements et un serveur de données, connectés à un réseau auquel est également connecté un serveur mettant en oeuvre le procédé selon l'invention. On note que le procédé selon l'invention pourrait aussi être mis 30 en oeuvre par un des serveurs de l'architecture applicative. [0027] La figure 2 montre une étape 1000 de sélection d'au moins un travail parmi des travaux d'au moins un planificateur de travaux. Dans l'étape de sélection un utilisateur saisit, comme paramètre d'exécution, un ou plusieurs 3025636 7 paramètres permettant de sélectionner un sous ensemble de travaux parmi une liste des travaux planifiés dans l'architecture applicative. C'est critère sont, par exemple et de manière non limitative : - un identifiant d'un serveur sur lequel la planification est réalisée ; 5 - un identifiant d'un travail, étant admis que sur un serveur donnée, chaque travail planifié a un identifiant unique ; - un nom de travail ; - un horaire de planification ; - un nom d'utilisateur, chaque travail s'exécutant dans un contexte 10 utilisateur ; - une date de création de la planification ; [0028] Chacune des données de la liste précédente est une métadonnée d'un travail. Une métadonnée est une donnée qui fournit une information sur l'objet 15 auquel elle est rattachée. Les administrateurs connaissent bien ces métadonnées. Dans une variante de l'invention on prévoit d'enrichir ces métadonnées en ajoutant des métadonnées relatives à une ressource. Par exemple telle planification a une affinité processeur élevé, et une affinité réseau basse. Cela signifie que l'on s'attend à ce que lors de l'exécution le travail consomme 20 beaucoup de ressource processeur mais peu de ressource réseau. [0029] Dans l'exemple le plus simple on fournit un identifiant de serveur et un identifiant de travail : par exemple l'identifiant du serveur de traitement et un nom de travail NT02512. Le nom est fictif et utilisé juste pour l'exemple. [0030] Une fois en connaissance de ces paramètres on est capable de 25 déterminer un sous ensemble de la zone de planification des moyens de stockage du serveur de traitement. Ce sous ensemble comporte toutes les planifications dont les métadonnées vérifient les paramètres d'exécution saisis. On obtient donc une sous liste de planifications. [0031] Dans une autre étape 1010 de définition d'une période d'analyse, un 30 utilisateur saisit, comme paramètre d'exécution, une période sur laquelle doit porter l'analyse. Per exemple l'utilisateur saisit une date de début et une date de fin d'analyse. Considérons dans un exemple une date de début valant 2013-07-01 3025636 8 et une date de fin valant 2013-07-31. Cela signifie que l'on souhaite faire une analyse sur le mois de juillet 2013. [0032] Une fois les étapes 1000 de sélection d'au moins un travail et l'étape 1010 de définition d'une période d'analyse, on passe à une étape 1020 5 d'extraction de données de travail. Dans l'étape 1020, pour chaque planification de la sous liste de planifications, on effectue les actions suivantes : - lecture 1021 du fichier de journal de planificateur correspondant à la planification ; - filtrage 1022 du fichier de journal correspondant à la planification en 10 fonction de la période d'analyse ; - production et enregistrement 1023 d'un enregistrement de travail par exécution du travail pendant la période d'analyse. [0033] Une fois les données de travail extraites, ou au fur et à mesure de leur extraction, on met en oeuvre une étape 1030 de calcul de coordonnées d'affichage 15 d'une représentation du travail. On simplifie en parlant de coordonnée d'affichage du travail. Ce calcul prend en compte une date de référence, les date de début et de fin de travail ainsi que l'identifiant du travail. Dans une variant préférée, le calcul inclut le calcul du quotient d'une division entière de la durée du travail par un nombre prédéterminé. Par exemple si la durée du travail est exprimé en minute 20 on aurait, par exemple : Coordonnées = fonction(identifiant, (fin - début) / 1440) [0034] 1440 est le nombre de minutes dans une journée. Cela permet d'avoir un diagramme qui permet de visualiser une ligne par jour et par travail. Pour un travail on aurait un diagramme tel qu'illustré à la figure 3. Le diagramme de la 25 figure 3, calculé par l'invention, met en évidence des différences de dates de démarrages et durées pour une même planification pour différents jours selon la période d'analyse sélectionnée. On met ainsi en évidence un problème car : pour une planification le travail devrait toujours commencer à la même date, le travail devrait avoir sensiblement la même durée. On est de plus en mesure d'identifier 30 rapidement les jours les plus sensibles aux problèmes. [0035] Un tel calcul aboutit à une représentation dont la surface est proportionnelle à la durée et dont la position est lié à la date de début et à l'identifiant de travail. 3025636 9 [0036] La figure 4 illustre un diagramme qui permet de visualiser des dates de démarrage et des durées pour deux travaux différents. On constate par exemple, grâce au diagramme de la figure 4, que la durée d'exécution d'un premier script est plus longue lorsqu'un deuxième script s'exécute en même temps. 5 [0037] On note qu'il y a plusieurs manières de réaliser une division entière, c'est-à-dire pour obtenir un résultat équivalent à celui d'une division entière. Parmi ces manières on cite au moins les suivants : - Une division euclidienne effective d'une différence avec une date de référence par une valeur prédéterminé : (date - date référence) / valeur 10 prédéterminée ; - Utiliser des fonctions d'analyse de date pour extraire, par exemple, le jour. [0038] Dans une variante avec données d'exploitation, l'invention, dans une étape 1100 de déploiement d'au moins une sonde, on copie sur un serveur cible 15 des codes instructions selon un paramétrage d'au moins la sonde. [0039] L'étape de déploiement est suivie d'une étape 1110 de collecte de données d'exploitations. Dans l'étape 1110 on effectue au moins deux actions : - une étape 1111 de production de données d'exploitations ; - une .étape 1112 d'enregistrement horodatés dans la zone 120.2 20 d'enregistrement des données d'exploitation produites, chaque enregistrement est associé à un paramétrage de sonde, par exemple par l'utilisation d'un identifiant pour chaque paramétrage de sonde. Dans la pratique une sonde est assimilé à son paramétrage et on emploie le terme sonde pour désigner le paramétrage, et les codes 25 instructions copiés lors du déploiement. [0040] Chaque sonde produit, par paramétrage, un type de donnée d'exploitation pour une cible prédéterminé. Un type donnée d'exploitation est, par exemple : - taux d'utilisation CPU ; 30 - taux de CPU en mode attente ; - volume de lecture/écriture disque ; - volume de lecture/écriture réseau ; - volume d'utilisation de la mémoire ; 3025636 10 - nombre de requêtes reçu par un service ; - temps de réponse d'un service ; - durée d'exécution d'une requête d'interrogation d'une base de données ; 5 - durée de traitement d'un message par un bus de service d'entreprise (ESB) - ... la liste n'est pas exhaustive [0041] Dans la variante avec données d'exploitation, à l'étape 1030 de calcul de coordonnées d'affichage, on calcul également des coordonnées d'affichage 10 pour des données d'exploitation en fonction de la date de la donnée et de la sonde ayant produit la donnée. [0042] Cela permet de juxtaposer des données d'exploitations avec des données de journaux de planificateurs, En particulier il est possible de juxtaposer des données d'exploitations d'une période, avec des données de journaux de 15 planificateurs d'une période suivante. Par exemple on peut juxtaposer un volume d'entrée sortie d'une période de saisie avec des données de journaux de traitement de la période de traitement suivant la période de saisie. On peut ainsi visualiser l'influence d'une activité de saisie sur une activité de traitement. [0043] Dans une autre variante de l'invention, chaque planification est 20 associée à une ou plusieurs affinités ressources. Une affinité ressource est une mesure de l'influence d'une de la planification sur une ressource. On peut alors utiliser cette affinité dans au moins deux cas : - automatiser un déploiement de sonde une fois au moins un travail sélectionné. On déploie alors les sondes correspondant aux affinités 25 des travaux de la sous liste de travaux ; - automatiser une sélection de données de ressource à juxtaposer avec des données de journaux de planificateur. On juxtapose alors des données d'exploitation produites par des sondes correspondant aux affinités des travaux de la sous liste de travaux. 30 [0044] Une affinité est une valeur numérique permettant de quantifier une influence. Une telle valeur peut être booléenne : 0 ou 1, ou un entier compris entre 1 et 5, ou entre 0 et 5, ou entre 1 et 10. Ces exemples sont non limitatifs. Cette affinité est associée à une ressource et à une planification. 3025636 11 [0045] Une affinité permet donc de filtrer des travaux et/ou des sondes associées à des ressources. Le filtrage se fait sur selon des seuils prédéterminés à comparer à des valeurs d'affinité ou d'une combinaison de valeurs d'affinité selon des opérateurs arithmétiques et/ou booléens. 5 [0046] Pour l'illustration, il est clair qu'une sonde produisant un taux d'utilisation de CPU a une affinité maximale avec le CPU. REVENDICATIONS1. Procédé de production automatisée d'un diagramme d'analyse d'une activité de traitements planifiés caractérisé en ce qu'il comporte les étapes suivantes : - sélection d'au moins un travail parmi des travaux d'au moins un planificateur de travaux selon au moins un critère relatif à au moins une métadonnée associée aux travaux ; - définition d'une période d'analyse ; - extraction de données de travail d'au moins un journal de travaux du au moins un planificateur de travaux selon la période définie et selon le au moins un travail sélectionné, une donnée de travail comportant au moins une date de début de travail et une date de fin de travail ; - calcul de coordonnées d'affichage d'une représentation d'une donnée travail en fonction de sa date de début et de sa date de fin et, pour chacune desdites dates, selon un quotient d'une division entière d'un écart entre les dîtes dates et une date de référence par un nombre prédéterminé. 2. Procédé de production automatisé d'un diagramme selon l'une des revendications précédentes, caractérisé en ce qu'une métadonnée d'un travail comporte identifiant dudit travail. 3. Procédé de production automatisée d'un diagramme selon l'une des revendications précédentes, caractérisé en ce qu'une métadonnée d'un travail est une affinité avec une ressource matérielle d'un dispositif de traitement automatisé impliquée dans la mise en oeuvre du travail. 4. Procédé de production automatisée d'un diagramme selon l'une des revendications précédentes caractérisé en ce qu'il comporte également les étapes suivante : déploiement d'au moins une sonde ; collecte des données selon au moins la sonde déployée : - production de données d'exploitation pas la ou les sondes déployées ; - enregistrement horodaté et associé à un identifiant de sonde des données produites ; 3025636 13 calcul de coordonnées d'affichage d'une représentation d'une donnée d'exploitation enregistrée selon la date de la donnée d'exploitation et un identifiant de sonde. 5. Procédé de production automatisée d'un diagramme selon l'une des 5 revendications précédentes, caractérisé en ce qu'une sonde à déployer est choisie en fonction d'une métadonnée d'au moins un travail parmi le ou les travaux sélectionnés. 6. Procédé de production automatisée selon l'une des revendications 4 ou 5, caractérisé en ce que la donnée d'exploitation enregistrée utilisée pour le calcul 10 des coordonnées d'affichage est sélectionnée en fonction d'une métadonnée d'au moins un travail parmi le ou les travaux sélectionnés. 7. Dispositif de stockage numérique comportant un fichier correspondant à des codes instructions mettant en oeuvre le procédé selon l'une des revendications précédentes. 15 8. Dispositif mettant en oeuvre le procédé selon l'une des revendications 1 à 6.