Suite

Quelle est la stratégie pour ajouter des attributs au fichier de formes lorsque le nombre d'enregistrements n'est pas le même ?

Quelle est la stratégie pour ajouter des attributs au fichier de formes lorsque le nombre d'enregistrements n'est pas le même ?


J'essaie d'ajouter des attributs (au format Excel) à un fichier de formes existant à l'aide d'ArcGIS, mais le nombre d'enregistrements entre les deux n'est pas le même; il y a des enregistrements dans un fichier mais pas dans l'autre, et vice versa. Je suis nouveau dans le domaine des SIG et je ne sais pas quelles mesures prendre, mais voici ce qui, à mon avis, fonctionnera :

  1. Exportez les attributs des fichiers de formes au format de base de données, convertissez-les au format Excel
  2. Fusionner l'attribut shapefile avec l'autre attribut excel pour former un seul fichier
  3. Conserver ceux de l'attribut shapefile
  4. Importer de nouvelles données dans le fichier de formes

Pensez-vous que cela fonctionnera? Surtout à l'étape 4, puis-je importer de nouvelles données (c'est-à-dire avec des attributs mis à jour) dans le formulaire Excel dans le fichier de formes d'une manière ou d'une autre ? Désolé si le plan semble trop rudimentaire/brut, mais pour mon niveau débutant, cela a du sens intuitivement.

ÉDITER:

  • La raison pour laquelle je pense que je dois utiliser Excel est que le champ ID (FID) est disponible dans le fichier de formes mais pas dans Excel. Ce qu'ils ont en commun, c'est la description du FID ; dans ces données, les champs descriptifs incluent le comté, le district et la province. De plus, ces champs descriptifs sont collectivement uniques mais pas individuellement uniques ; c'est-à-dire qu'il se peut que certains comtés portent le même nom, mais ils appartiennent à des districts différents (ou même au même district mais à des provinces différentes). Donc, ce à quoi je peux penser, c'est d'exporter des données et de travailler sur Excel, ou n'importe quel programme externe (un programme statistique fera l'affaire), pour affecter FID à la table attributaire supplémentaire, avant de les joindre/de les relier. Mais ArcGIS autorise-t-il la jointure/correspondance à l'aide de plusieurs champs d'ID ?

  • La relation est un (du fichier de formes) à plusieurs (de la table attributaire supplémentaire). En quoi cela complique-t-il le plan d'adhésion/relation ?


Il existe trois méthodes simples pour joindre des données à l'aide d'ArcGIS :

Si vous avez des clés partagées entre les deux classes d'entités et que des champs attributaires existent déjà, vous pouvez utiliser une jointure de table pour "fusionner" les tables attributaires. Vous avez la possibilité de faire une jointure interne ou externe. Cette jointure est stockée en mémoire pendant l'exécution d'ArcGIS. Si vous souhaitez qu'elle persiste, vous pouvez exporter la classe d'entités après la jointure.

Si vous avez des clés partagées mais que les champs d'attribut n'existent pas déjà, vous pouvez utiliser Join Field qui ajoutera les champs à votre table existante. Le résultat de cette opération est permanent

Si vous n'avez pas de clés partagées mais que vous souhaitez effectuer une jointure basée sur des relations spatiales, vous pouvez utiliser une jointure spatiale. Les résultats de cette opération dépendent de la qualité de vos données spatiales.


Une simple jointure externe ferait l'affaire. Et qu'entendez-vous par nombre d'enregistrements ne sont pas les mêmes. Avez-vous de nouveaux points ou des points manquants dans le deuxième tableau ? Quoi qu'il en soit, la priorité devrait être vos enregistrements de la première table et les attributs de la seconde. Donc table 1 external join table 2… afin que vous puissiez avoir tous les enregistrements de table1 et les enregistrements correspondants de table 2. Vous pouvez le faire directement sur le fichier de forme dans qgis ou arcgis .


Soutenir les données géospatiales pour modéliser les limites des circonscriptions électorales #412

La spécification VIP devrait permettre l'utilisation de données géospatiales pour définir les limites des circonscriptions électorales.

Les StreetSegments fournissent actuellement le principal mécanisme pour associer l'emplacement d'un électeur inscrit au(x) lieu(x) de scrutin où il a le droit de voter. L'approche StreetSegment s'est avérée difficile à utiliser à la fois du côté du producteur et du consommateur, mais les données géospatiales peuvent offrir une alternative évolutive. StreetSegments équivaut en fait à un nuage de points d'électeurs inscrits qui indexent les bureaux de vote. Avec les données géospatiales, en revanche, un seul polygone/forme peut être utilisé pour englober tous les électeurs inscrits dans ce district, remplaçant potentiellement des milliers de StreetSegments.

Cas d'utilisation

L'éditeur d'un fil VIP devrait être en mesure de définir la limite géographique d'une circonscription électorale. Par exemple, l'éditeur peut avoir un polygone/une forme représenté par une série de points lat/long définissant la limite du district. L'éditeur devrait alors être en mesure de définir des lieux de scrutin dans le fil et d'associer ces lieux à leur(s) circonscription(s) électorale(s) correspondante(s). Dans la plupart des cas, la circonscription électorale serait une circonscription, mais pourrait également être une division de circonscription, une localité ou un État. Si le producteur fournit une limite géographique pour le district, les StreetSegments ne sont plus nécessaires pour mapper les électeurs vers leurs bureaux de vote éligibles - au contraire, si l'adresse enregistrée d'un électeur est située dans l'une de ces limites géographiques, cet électeur est éligible pour voter à n'importe quel des bureaux de vote associés à cette circonscription.

Une solution possible

Pour lancer la discussion sur ce sujet, une solution possible serait d'ajouter des éléments à l'élément ElectoralDistrict pour capturer l'étendue spatiale du district. Dans la forme la plus simple, il peut s'agir simplement d'un nombre illimité de points lat/long. Avec cette extension, vous pouvez considérer un objet ElectoralDistrict comme une paire d'ID OCD plus l'étendue géographique de sa limite.

Cette solution s'intégrerait bien à l'élément Precinct tel quel, qui contient déjà une référence à un ou plusieurs ElectoralDistricts. Dans l'exemple le plus simple, un élément de circonscription ferait référence à un seul district électoral. Ce district électoral contiendrait des informations sur l'ID OCD de l'enceinte, ainsi qu'une définition de l'étendue spatiale pour définir les limites de l'enceinte. C'est toute l'information qui devrait être fournie dans le flux pour que les consommateurs déterminent l'admissibilité des électeurs à ce lieu de scrutin.

Les éléments Locality et State, cependant, ne contiennent actuellement pas de référence à un ElectoralDistrict, nous aurions donc probablement besoin de l'ajouter pour faciliter la modélisation des bureaux de vote à l'échelle du comté et de l'État.

Le texte a été mis à jour avec succès, mais ces erreurs se sont produites :

Nous ne sommes pas en mesure de convertir la tâche en problème pour le moment. Veuillez réessayer.

Le problème a été créé avec succès, mais nous ne sommes pas en mesure de mettre à jour le commentaire pour le moment.


Les éléments clés d'une spécification de mappage de données

Essentiellement, une spécification de mappage de données analysera, champ par champ, comment déplacer les données d'un système à un autre. Par exemple, si je devais orchestrer un flux de données à partir du Combler le fossé référentiel d'articles à un moteur de recherche, je voudrais mapper les attributs clés de l'article, tels que le titre, la catégorie et le contenu, aux attributs spécifiés par le moteur de recherche. Cet exercice d'analyse garantirait que chaque élément d'information se retrouve à l'endroit le plus approprié dans le référentiel de données cible.

Pour atteindre cet objectif, une spécification de mappage de données contient les éléments suivants :

  • Liste des attributs de la source de données d'origine (souvent avec des informations supplémentaires du dictionnaire de données)
  • Une liste d'attributs correspondante (ou “mapped”) pour le référentiel de données cible (là encore, avec des informations supplémentaires du dictionnaire de données)
  • Règles de traduction définissant toute manipulation de données qui doit se produire lorsque les informations se déplacent entre les deux sources, telles que la définition de valeurs par défaut, la combinaison de champs ou les valeurs de mappage

Colonnes de statistiques de performances

Les statistiques de performances incluent la diffusion des annonces, l'engagement des utilisateurs et le retour sur investissement au fil du temps. Avec la plupart des types de rapports, vous avez la possibilité d'inclure les impressions, les clics, le taux de clics et le coût par clic moyen.

Un nombre plus élevé indique que votre annonce s'affiche fréquemment dans la meilleure position d'annonce.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Ni Horaire ou alors HeureDuJour l'agrégation est prise en charge. Si vous incluez cette colonne avec Horaire ou alors HeureDuJour agrégation, le service ne renverra pas d'erreur et vous devez ignorer toutes les données de performances renvoyées pour cette colonne.

Cela indique où l'augmentation de votre budget peut améliorer vos chances d'atteindre la première position de l'annonce, ce qui est plus susceptible de gagner des clics et des conversions.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Ni Horaire ou alors HeureDuJour l'agrégation est prise en charge. Si vous incluez cette colonne avec Horaire ou alors HeureDuJour agrégation, le service ne renverra pas d'erreur et vous devez ignorer toutes les données de performances renvoyées pour cette colonne.

Utilisez ces données pour vous aider à évaluer les raisons pour lesquelles vos annonces ne figurent pas en première position, ce qui est plus susceptible de générer des clics et des conversions. Le classement de l'annonce détermine où votre annonce est diffusée par rapport aux autres annonces, en fonction de facteurs tels que le montant de votre enchère, les performances de l'annonce, la pertinence de l'annonce, les extensions d'annonce, d'autres annonces concurrentes, etc.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Ni Horaire ou alors HeureDuJour l'agrégation est prise en charge. Si vous incluez cette colonne avec Horaire ou alors HeureDuJour agrégation, le service ne renverra pas d'erreur et vous devez ignorer toutes les données de performances renvoyées pour cette colonne.

Les rapports sur les impressions mettent en évidence des informations sur le nombre d'impressions manquantes dans l'emplacement supérieur et pourquoi. Vous pouvez utiliser ces données pour vous informer des modifications à apporter pour obtenir plus d'impressions, augmenter la probabilité d'un plus grand nombre de clics sur ces annonces et, par conséquent, augmenter la probabilité d'augmenter les ventes.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Ni Horaire ou alors HeureDuJour l'agrégation est prise en charge. Si vous incluez cette colonne avec Horaire ou alors HeureDuJour agrégation, le service ne renverra pas d'erreur et vous devez ignorer toutes les données de performances renvoyées pour cette colonne.

Si vous incluez cette colonne, vous ne pouvez pas inclure d'attributs restreints tels que TopVsOther dans la même demande de rapport. De même, si vous incluez l'une des colonnes d'attributs restreints, vous devez exclure cette colonne. Pour plus d'informations, consultez Restrictions de colonne.

La formule de calcul du taux de conversion est (Conversions/Clics) x 100.

Les données seront exclues de la colonne du rapport ConversionRate pour tout objectif de conversion avec la propriété ExcludeFromBidding définie sur true. La colonne AllConversionRate inclura des données pour tous les objectifs de conversion, quel que soit leur paramètre ExcludeFromBidding.

Une conversion est la réalisation d'une action par un client après avoir vu votre annonce. L'action peut être l'achat de votre produit, l'inscription à votre webinaire, l'adhésion à une organisation ou tout ce que vous considérez comme votre objectif et la meilleure mesure du succès de l'annonce.

Les conversions sont mesurées en ajoutant un petit morceau de code aux pages de votre site Web afin que la progression d'un visiteur sur votre site puisse être suivie.

Les données seront exclues de la colonne du rapport Conversions pour tout objectif de conversion avec la propriété ExcludeFromBidding définie sur true. La colonne AllConversions inclura des données pour tous les objectifs de conversion, quel que soit leur paramètre ExcludeFromBidding.

Seules les annonces des campagnes qui activent le suivi des conversions contribuent au nombre de conversions. Par conséquent, à moins que toutes les campagnes du compte n'activent le suivi des conversions, le nombre ne sera pas exact.

Les données seront exclues de la colonne du rapport CostPerConversion pour tout objectif de conversion avec la propriété ExcludeFromBidding définie sur true. La colonne AllCostPerConversion inclura des données pour tous les objectifs de conversion, quel que soit leur paramètre ExcludeFromBidding.

La formule de calcul du ROAS est (Revenus / Dépenses).

Les données seront exclues de la colonne du rapport ReturnOnAdSpend pour tout objectif de conversion avec la propriété ExcludeFromBidding définie sur true. La colonne AllReturnOnAdSpend inclura des données pour tous les objectifs de conversion, quel que soit leur paramètre ExcludeFromBidding.

Les données seront exclues de la colonne du rapport Revenus pour tout objectif de conversion avec la propriété ExcludeFromBidding définie sur true. La colonne AllRevenue inclura des données pour tous les objectifs de conversion, quel que soit leur paramètre ExcludeFromBidding.

La formule de calcul du revenu par conversion est (Revenus / Conversions).

Les données seront exclues de la colonne du rapport RevenuePerConversion pour tout objectif de conversion avec la propriété ExcludeFromBidding définie sur true. La colonne AllRevenuePerConversion inclura des données pour tous les objectifs de conversion, quel que soit leur paramètre ExcludeFromBidding.

Les clics incluent généralement un client qui clique sur une annonce sur une page de résultats de recherche ou sur un site Web du réseau de recherche. Les clics peuvent également provenir d'autres sources (par exemple, des araignées, des robots et des serveurs de test).

Si ce nombre est élevé, vous voudrez peut-être augmenter votre budget.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Si vous essayez d'inclure cette colonne avec Horaire ou alors HeureDuJour agrégation le service renverra le code 2053.

Le classement de l'annonce détermine la position de votre annonce et si votre annonce peut être diffusée. Il est calculé en fonction de votre enchère, de la qualité et de l'impact attendu des formats d'annonces.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Si vous essayez d'inclure cette colonne avec Horaire ou alors HeureDuJour agrégation le service renverra le code 2053.

Utilisez-le pour comparer votre part d'impressions à la part d'impressions des annonceurs en concurrence avec vous.

Exemple : Sur les 59 000 impressions estimées qui se sont produites ce jour-là sur votre marché cible, vous n'avez obtenu qu'environ 2 300, soit 3 %.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Si vous essayez d'inclure cette colonne avec Horaire ou alors HeureDuJour agrégation le service renverra le code 2053.

Il s'agit d'une mesure de performance standard de l'industrie publicitaire que nous calculons en fonction de vos dépenses et du nombre d'impressions.

L'objectif de la budgétisation publicitaire basée sur le CPM est de faire connaître votre marque à un large public. Le CPM vous indique combien il en coûte pour diffuser une annonce pour le type d'utilisateurs que vous ciblez.

Par exemple, votre pourcentage de partage de clics est de 30 % si 10 annonces ont été cliquées et que trois des 10 annonces étaient les vôtres.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Si vous essayez d'inclure cette colonne avec Horaire ou alors HeureDuJour agrégation le service renverra le code 2053.

La formule de calcul du taux de conversion est (Conversions/Clics) x 100.

Les données seront exclues de la colonne du rapport ConversionRate pour tout objectif de conversion avec la propriété ExcludeFromBidding définie sur true. La colonne AllConversionRate inclura des données pour tous les objectifs de conversion, quel que soit leur paramètre ExcludeFromBidding.

Une conversion est la réalisation d'une action par un client après avoir vu votre annonce. L'action peut être l'achat de votre produit, l'inscription à votre webinaire, l'adhésion à une organisation ou tout ce que vous considérez comme votre objectif et la meilleure mesure du succès de l'annonce.

Les conversions sont mesurées en ajoutant un petit morceau de code aux pages de votre site Web afin que la progression d'un visiteur sur votre site puisse être suivie.

Les données seront exclues de la colonne du rapport Conversions pour tout objectif de conversion avec la propriété ExcludeFromBidding définie sur true. La colonne AllConversions inclura des données pour tous les objectifs de conversion, quel que soit leur paramètre ExcludeFromBidding.

Seules les annonces des campagnes qui activent le suivi des conversions contribuent au nombre de conversions. Par conséquent, à moins que toutes les campagnes du compte n'activent le suivi des conversions, le nombre ne sera pas exact.

Les données seront exclues de la colonne du rapport CostPerConversion pour tout objectif de conversion avec la propriété ExcludeFromBidding définie sur true. La colonne AllCostPerConversion inclura des données pour tous les objectifs de conversion, quel que soit leur paramètre ExcludeFromBidding.

Les rapports sur le taux d'impressions par correspondance exacte mettent en évidence les performances de vos mots clés uniquement sur les recherches qui correspondent exactement à vos mots clés. Utilisez ces données avec le taux d'impressions pour diagnostiquer vos mots clés de correspondance non exacts et apporter des modifications pour être plus compétitif et obtenir plus d'impressions.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Ni Horaire ou alors HeureDuJour l'agrégation est prise en charge. Si vous incluez cette colonne avec Horaire ou alors HeureDuJour agrégation, le service ne renverra pas d'erreur et vous devez ignorer toutes les données de performances renvoyées pour cette colonne.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Si vous essayez d'inclure cette colonne avec Horaire ou alors HeureDuJour agrégation le service renverra le code 2053.

Si vous incluez cette colonne, vous ne pouvez pas inclure d'attributs restreints tels que TopVsOther dans la même demande de rapport. De même, si vous incluez l'une des colonnes d'attributs restreints, vous devez exclure cette colonne. Pour plus d'informations, consultez Restrictions de colonne.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Si vous essayez d'inclure cette colonne avec Horaire ou alors HeureDuJour agrégation le service renverra le code 2053.

Si vous incluez cette colonne, vous ne pouvez pas inclure d'attributs restreints tels que TopVsOther dans la même demande de rapport. De même, si vous incluez l'une des colonnes d'attributs restreints, vous devez exclure cette colonne. Pour plus d'informations, consultez Restrictions de colonne.

Exemple : Sur les 59 000 impressions estimées qui se sont produites ce jour-là sur votre marché cible, vous n'avez obtenu qu'environ 2 300, soit 3 %.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Si vous essayez d'inclure cette colonne avec Horaire ou alors HeureDuJour agrégation le service renverra le code 2053.

Si vous incluez cette colonne, vous ne pouvez pas inclure d'attributs restreints tels que TopVsOther dans la même demande de rapport. De même, si vous incluez l'une des colonnes d'attributs restreints, vous devez exclure cette colonne. Pour plus d'informations, consultez Restrictions de colonne.

Le CTR relatif peut vous aider à comprendre les performances des campagnes et des groupes d'annonces, en particulier si vous disposez de peu ou pas d'informations sur les conversions.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Si vous essayez d'inclure cette colonne avec Horaire ou alors HeureDuJour agrégation le service renverra le code 2053.

La formule de calcul du ROAS est (Revenus / Dépenses).

Les données seront exclues de la colonne du rapport ReturnOnAdSpend pour tout objectif de conversion avec la propriété ExcludeFromBidding définie sur true. La colonne AllReturnOnAdSpend inclura des données pour tous les objectifs de conversion, quel que soit leur paramètre ExcludeFromBidding.

Les données seront exclues de la colonne du rapport Revenus pour tout objectif de conversion avec la propriété ExcludeFromBidding définie sur true. La colonne AllRevenue inclura des données pour tous les objectifs de conversion, quel que soit leur paramètre ExcludeFromBidding.

La formule de calcul du revenu par conversion est (Revenus / Conversions).

Les données seront exclues de la colonne du rapport RevenuePerConversion pour tout objectif de conversion avec la propriété ExcludeFromBidding définie sur true.La colonne AllRevenuePerConversion inclura des données pour tous les objectifs de conversion, quel que soit leur paramètre ExcludeFromBidding.

Cela indique comment les changements de position de l'annonce peuvent avoir un impact sur les performances.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Ni Horaire ou alors HeureDuJour l'agrégation est prise en charge. Si vous incluez cette colonne avec Horaire ou alors HeureDuJour agrégation, le service ne renverra pas d'erreur et vous devez ignorer toutes les données de performances renvoyées pour cette colonne.

Cela indique où l'augmentation de votre budget peut aider à améliorer la position de l'annonce.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Ni Horaire ou alors HeureDuJour l'agrégation est prise en charge. Si vous incluez cette colonne avec Horaire ou alors HeureDuJour agrégation, le service ne renverra pas d'erreur et vous devez ignorer toutes les données de performances renvoyées pour cette colonne.

Utilisez cette métrique pour vous aider à évaluer pourquoi vos annonces passent à côté des meilleures positions d'annonces. Le classement de l'annonce détermine où votre annonce est diffusée par rapport aux autres annonces, en fonction de facteurs tels que le montant de votre enchère, les performances de l'annonce, la pertinence de l'annonce, les extensions d'annonce, d'autres annonces concurrentes, etc.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Ni Horaire ou alors HeureDuJour l'agrégation est prise en charge. Si vous incluez cette colonne avec Horaire ou alors HeureDuJour agrégation, le service ne renverra pas d'erreur et vous devez ignorer toutes les données de performances renvoyées pour cette colonne.

Un nombre inférieur indique que l'éligibilité de votre annonce peut avoir une incidence sur sa position. L'éligibilité à la meilleure impression dépend de l'état d'approbation de votre annonce, du niveau de qualité, des paramètres de ciblage et des enchères.

La valeur de cette colonne est vide si les données ne sont pas disponibles. Ni Horaire ou alors HeureDuJour l'agrégation est prise en charge. Si vous incluez cette colonne avec Horaire ou alors HeureDuJour agrégation, le service ne renverra pas d'erreur et vous devez ignorer toutes les données de performances renvoyées pour cette colonne.

Les conversions après affichage n'ont pas de clic associé, mais une impression est associée dans la fenêtre de conversion définie par l'annonceur. Si l'utilisateur a également cliqué sur une annonce qui a été livrée via le réseau Microsoft Audience ou Search, il n'y aura pas conversion après affichage comptabilisée. Seule la conversion basée sur les clics serait comptabilisée.

Les conversions après affichage ne sont comptabilisées que pour les annonces du réseau Microsoft Audience.

Tout le monde n'a pas encore de conversions après affichage. Si vous ne le faites pas, ne vous inquiétez pas. Ça arrive bientôt.


Méthodes/expérimental

Considérant que l'objectif principal de ce travail est la proposition de certaines meilleures pratiques pour la modélisation et l'organisation des BDW basés sur Hive, il est important que les lignes directrices et les considérations fournies ici soient correctement validées et que les résultats soient reproductibles. Par conséquent, un benchmark comprenant plusieurs charges de travail a été réalisé pour évaluer les performances d'un Hive BDW dans différents scénarios. Cette section décrit les matériaux et les méthodes utilisés dans ce processus de recherche.

Infrastructure technologique

Pour cette étude, un cluster Hadoop comprenant cinq nœuds avec des configurations similaires a été utilisé. Chaque nœud est composé des composants suivants :

1 Intel Core i5, quad core, avec une fréquence d'horloge comprise entre 3,1 GHz et 3,3 GHz

32 Go de mémoire vive DDR3 à 1333 MHz (RAM), avec 24 Go disponibles pour le traitement des requêtes

1 disque SSD Samsung 850 EVO 500 Go avec une vitesse de lecture jusqu'à 540 Mo/s et une vitesse d'écriture jusqu'à 520 Mo/s

1 carte Ethernet Gigabit connectée via des câbles Ethernet Cat5e et un commutateur Ethernet gigabit

Le système d'exploitation installé sur tous les nœuds est CentOS 7 avec un système de fichiers XFS.

Dans cette infrastructure, l'un des nœuds est configuré avec HDFS NameNode et YARN ResourceManager, assurant les rôles de gestion typiques dans Hadoop, et les quatre autres nœuds sont configurés en tant que HDFS DataNodes et YARN NodeManagers.

La distribution Hadoop utilisée dans ce travail est Hortonworks Data Platform (HDP) 2.6.0 avec les configurations par défaut, à l'exclusion du facteur de réplication HDFS, qui a été défini sur 2. Outre Hadoop (y compris Hive), Presto v.0180 est également disponible, étant le coordinateur installé sur le NameNode et les travailleurs sur les quatre DataNodes restants. Toutes les configurations de Presto ont été laissées à leurs valeurs par défaut, à l'exception de la configuration de la mémoire, qui a été définie pour utiliser 24 Go des 32 Go disponibles dans chaque travailleur (similaire à la mémoire disponible pour les applications YARN dans chaque DataNode/NodeManager).

Ensemble de données et requêtes

Dans ce travail, le bien connu star schema benchmark (SSB) a été utilisé, qui considère un magasin de données de vente traditionnel modélisé selon des structures dimensionnelles (schémas en étoile). Ce benchmark est basé sur le Benchmark TPC-H [33], avec les adaptations nécessaires pour transformer le modèle de données en un schéma en étoile, comme on peut le voir dans [22]. D'après la proposition de [22] et le schéma de données utilisé ici, il existe des différences particulières, à savoir : les grandes dimensions des clients et des fournisseurs, comme cela se produit dans les grandes entreprises de commerce électronique et les réseaux de médias sociaux ii) une dimension temporelle avec moins d'attributs que celle utilisée par [22] a été créée, ne conservant que les attributs pertinents pour l'exécution des charges de travail disponibles dans [22], afin de garder un terrain d'égalité entre les deux types de stratégies de modélisation de données évaluées dans ce travail (schémas en étoile et tableaux dénormalisés).

Par conséquent, les tables relationnelles de SSB et la table entièrement dénormalisée ont été implémentées dans Hive BDW, stockées à l'aide du format Optimized Row Columnar (ORC) et compressées à l'aide de ZLIB. Outre l'ensemble de données, ce travail utilise également les 13 requêtes incluses dans le benchmark SSB, mesurant les performances du BDW dans des charges de travail OLAP typiques. Les 13 requêtes sont disponibles dans l'ouvrage de [22] et, également, dans [8] qui fournit tous les scripts utilisés dans cet ouvrage pour exécuter les requêtes dans Hive et Presto. Pour avoir une vue d'ensemble des requêtes et de leurs modèles, le code de liste suivant montre la première requête de chaque groupe, car le SSB comprend quatre groupes de requêtes, comme on le verra dans la sous-section suivante.

Scénarios de test

Afin de comprendre l'impact sur les temps de traitement des requêtes lors de l'utilisation de différentes stratégies de partitionnement et de compartimentage des données, plusieurs scénarios de test ont été définis (Fig. 1). Dans ces scénarios, deux modèles de données différents (schéma en étoile et table dénormalisée) sont testés pour trois SF différents (30, 100 et 300), suite à l'application de trois stratégies principales d'organisation des données : le partitionnement par plusieurs attributs, le bucketing et la combinaison des deux. . Pour chaque SF, les données SSB sont stockées dans HDFS et des tables Hive sont créées pour les deux stratégies d'organisation des données. Les requêtes sont exécutées dans Presto et Hive (sur Tez). La sélection de ces deux moteurs SQL-on-Hadoop prend en considération les résultats de [29]. De plus, compte tenu des travaux de [9], la stratégie de jointure de diffusion a été utilisée pour Presto pour optimiser les temps de traitement des schémas en étoile, afin de s'assurer qu'ils sont comparables aux résultats de la table dénormalisée.

L'étude de la cardinalité et de la distribution des attributs disponibles dans l'ensemble de données a été réalisée pour choisir les attributs et les différentes combinaisons parmi eux, afin de planifier adéquatement les stratégies de partitionnement, les stratégies de compartimentage et les combinaisons des deux. Concernant la table dénormalisée, pour le SF le plus élevé utilisé dans ce travail, il n'a pas été possible de répliquer tous les scénarios en raison des limitations de mémoire de l'infrastructure utilisée dans ce travail.

Pour obtenir des résultats plus rigoureux, plusieurs scripts ont été développés pour exécuter séquentiellement chaque requête quatre fois. Les résultats de ce travail sont présentés comme la moyenne des quatre exécutions. Ces scripts ont été adaptés en fonction du système SQL-on-Hadoop utilisé (Presto ou Hive), du modèle de données appliqué (schéma dénormalisé ou en étoile) et de la stratégie d'organisation des données (avec ou sans partitions et buckets).


Quelle est la stratégie pour ajouter des attributs au fichier de formes lorsque le nombre d'enregistrements n'est pas le même ? - Systèmes d'information géographique

      • État de l'éducation Recueil des statistiques de l'éducation Projections des statistiques de l'éducation Études thématiques
      • Évaluation nationale des progrès de l'éducation (NAEP)Programme d'évaluation internationale des compétences des adultes (PIAAC)
      • Programme d'activités internationales (PAI)
      • Étude longitudinale sur la petite enfance (ECLS)Enquête nationale sur l'éducation des ménages (ENM)
      • Noyau commun de données (CCD)Programme d'études longitudinales secondairesEstimations démographiques et géographiques de l'éducation (EDGE)Enquête nationale auprès des enseignants et des directeurs (NTPS)plus.
      • Programme de statistiques de la bibliothèque
      • Baccalauréat et au-delà (B&B)Carrière/Statistiques de l'enseignement technique (CTES)Système intégré de données sur l'enseignement postsecondaire (IPEDS)Étude nationale sur l'aide aux étudiants postsecondaires (NPSAS)plus.
      • Common Education Data Standards (CEDS)Forum national sur les statistiques de l'éducationProgramme de subventions pour les systèmes de données longitudinales à l'échelle de l'État - (SLDS)plus.
      • Formation à distance sur les ensembles de données Programme national de normes statistiques de la Coopérative d'éducation postsecondaire (NPEC)more.
        • EDATDelta Cost ProjectIPEDS Data CenterComment demander une licence d'utilisation restreinte
        • Tables ASC-EDLaboratoire de donnéesSystème d'information secondaire élémentaireExplorateur de données internationalCentre de données IPEDSExplorateur de données NAEP
        • ACS DashboardCollege NavigatorÉcoles privéesDistricts scolaires publicsÉcoles publiquesRechercher des écoles et des collèges
        • NAEP State Profiles (nationsreportcard.gov)Public School District Finance Peer Search Education Finance Statistics CenterIPEDS Data Center
        • Outil de questions NAEPOutil de questions NAAL
        • ACS-ED DashboardACS-ED MapsCollegeMapLocale LookupMapEdSAFEMapSchool and District Navigator
        • BibliographieED Data Inventory
        • ÉvaluationsPetite enfancePrimaire et secondaireBibliothèquePost-secondaire et au-delàRessources
        • Blog NCESQuoi de neuf au NCESConférences/FormationActualitésFlashOpportunités de financementCommuniqués de presseStatChat
        • Rechercher des publications et des produitsRapports annuelsLicences de données à usage restreint
          Publications récentesPar sujet Index A-ZPar sondage et domaines de programmeProduits de données 6 derniers mois
        • À propos de NCESCommissaireContacter NCESPersonnelAide

        Introduction à la gestion de la sécurité
        Questions fréquemment posées
        Nourrir le soutien au sein de l'organisation
        Planifier pour l'inattendu
        Test et examen
        Mise en œuvre et maintenance quotidienne
        Liste de contrôle de gestion de la sécurité

        Une sécurité efficace établit un équilibre entre protection et commodité.
        Introduction à la gestion de la sécurité

          Communiquez au personnel que la protection du système n'est pas seulement dans l'intérêt de l'organisation, mais aussi dans le meilleur intérêt des utilisateurs.

        Q. Une organisation peut-elle se débrouiller sans embaucher un responsable de la sécurité ?
        R. Oui, mais bien qu'un responsable de la sécurité n'ait pas toujours besoin d'être embauché (en particulier dans les petites organisations), quelqu'un doit tout de même remplir les fonctions de gestion de la sécurité. De nombreuses organisations préfèrent embaucher un administrateur système et font de la gestion de la sécurité l'une de ses tâches principales. Il s'agit d'une stratégie acceptable tant que l'administrateur dispose de suffisamment de temps à consacrer à la gestion de la sécurité. Si, cependant, les fonctions administratives de routine occupent une part considérable de la journée de travail de l'administrateur, alors l'organisation sera mieux servie en ayant quelqu'un capable de se concentrer sur la sécurité du système.

        Q. Est-ce que l'affectation d'un administrateur pédagogique de haut niveau au rôle de responsable de la sécurité témoignerait d'un engagement envers la sécurité du système ?
        R. Pas nécessairement. Bien que les administrateurs supérieurs se voient souvent confier une autorité suffisante pour être des responsables de la sécurité efficaces, il est fort possible qu'ils ne possèdent pas l'expertise technique nécessaire pour le travail. Les responsables de la sécurité sont chargés d'opérationnaliser tous les aspects de la sécurité du système, une tâche qui requiert des compétences techniques importantes. Une considération secondaire, mais importante, est que la gestion de la sécurité du système peut exiger beaucoup de temps que les décideurs et autres administrateurs supérieurs peuvent ne pas être en mesure de consacrer étant donné leurs autres tâches essentielles. S'il est impératif que les principaux administrateurs s'engagent activement pour l'efficacité de la sécurité, dans la plupart des cas, il est logique que l'administration quotidienne de la sécurité du système soit confiée à un professionnel de la sécurité/des systèmes.

        Q. Où se situe le responsable de la sécurité dans la hiérarchie organisationnelle ?
        R. Comme le titre l'indique, les responsables de la sécurité et les administrateurs système sont le plus souvent considérés comme occupant un poste de gestion. Les tâches importantes que sont l'élaboration des règlements de sécurité, la formation du personnel et la surveillance de la mise en œuvre exigent que le responsable de la sécurité soit investi d'une autorité substantielle. Bien qu'il ne faille pas confondre le responsable de la sécurité avec un surintendant ou un principal, il ou elle doit être considéré comme le « patron du système ». protéger les ressources du système de manière adéquate devient une impossibilité.

        Même lorsqu'une organisation s'engage à améliorer la sécurité de ses informations, les responsables de la sécurité doivent souvent travailler plus qu'il ne devrait être nécessaire pour rappeler au personnel l'importance de chaque étape du processus de sécurité. Répondre aux questions sur la nécessité de procédures parfois lourdes ou sur le coût des initiatives techniques et de formation est une partie inévitable mais importante du travail de responsable de la sécurité. Ne vous y trompez pas, le responsable de la sécurité doit non seulement administrer la politique de sécurité mais doit également la défendre.

        Le soutien à la sécurité au niveau managérial est essentiel car la planification de la sécurité doit être alignée dans le contexte d'objectifs organisationnels plus importants. La direction doit s'assurer que les plans plus larges de l'organisation sont correctement pris en compte et que la politique de sécurité est conforme aux règles, réglementations et lois existantes auxquelles l'organisation est soumise, sans oublier qu'un financement adéquat est budgétisé. Après tout, chaque dollar investi dans la sécurité, aussi nécessaire soit-il, enlève un dollar à une autre activité.

        La sécurité doit être un effort conjoint entre les décideurs, le personnel technique et tous les autres membres du personnel.

        Tandis que personnel de soutien technique peuvent avoir la meilleure compréhension des ramifications d'initiatives technologiques données, seuls les utilisateurs ont la possibilité de mettre en œuvre des politiques et la direction le pouvoir de les faire respecter - et les politiques qui ne sont ni mises en œuvre ni appliquées sont sans valeur. Une véritable sécurité nécessite un soutien fort et visible de la part de la haute direction en tant que groupe, ainsi qu'une responsabilité personnelle et un comportement exemplaire de la part des gestionnaires individuels. Si la direction ignore ou contourne les procédures de sécurité, d'autres feront de même.


        Maintenant, Melissa le faisait aussi !

        Des ordinateurs et réseaux sont des outils précieux pour leurs utilisateurs. De nombreuses personnes comptent sur eux chaque jour pour accomplir leur travail plus efficacement. Lorsque les ressources informatiques ne sont pas disponibles, il peut devenir considérablement plus difficile de répondre aux exigences du poste. Un rôle important joué par un responsable de la sécurité est de communiquer au personnel que la protection du système est dans son meilleur intérêt ainsi que dans celui de l'organisation.

        La sécurité informatique traditionnelle repose souvent fortement sur la protection des systèmes contre les attaque et minimiser la probabilité de défaillance des logiciels et de l'équipement, mais peu d'attention est généralement accordée à la façon de gérer une attaque ou une défaillance une fois qu'elle se produit réellement. Le résultat est que lorsqu'un problème survient, de nombreuses décisions sont prises à la hâte. Souvent, de telles décisions reflètent ce manque de prévoyance et ne contribuent pas à localiser la source de l'incident, à collecter des preuves à utiliser dans les efforts de poursuite, à protéger les précieux information contenus sur le système ou préparer la récupération du système.

        Une bonne politique chaque fois que la sécurité est menacée, qu'il s'agisse d'un disque crash, une attaque d'intrus externe ou une catastrophe naturelle, c'est d'avoir planifié à l'avance les événements indésirables potentiels. La seule façon d'être sûr que vous avez planifié à l'avance de tels problèmes est de planifier maintenant, car vous ne pouvez jamais prédire exactement quand une faille de sécurité se produira. Cela peut arriver dans un an, un mois ou cet après-midi. La planification préalable des urgences va au-delà de la "bonne politique". Rien ne remplace la planification de la réponse aux violations de sécurité et d'autres plus globales la planification d'urgence!


        La poursuite n'est pas la seule issue possible lorsqu'un intrus est identifié. Si le coupable est un employé ou un étudiant, l'organisation peut choisir de prendre des mesures disciplinaires internes.

        Il est presque impossible de trop insister sur la nécessité d'une bonne stratégie de sauvegarde. Les sauvegardes du système protègent non seulement l'organisation en cas de panne matérielle ou de suppression accidentelle, mais elles protègent également le personnel contre les modifications non autorisées ou accidentelles apportées au contenu des fichiers. Si une erreur est commise (et nous savons tous qu'elle l'est), avoir la possibilité d'accéder à une sauvegarde non modifiée peut être très attrayant. Mais accéder à ces archives n'est une stratégie viable que lorsque les fichiers de sauvegarde ont été créés correctement - une sauvegarde d'un fichier qui contient les erreurs et/ou les virus que vous essayez d'éliminer n'est généralement pas très utile. De même, les fichiers de sauvegarde doivent être créés à des intervalles appropriés et eux-mêmes doivent être bien protégés contre les dommages et la destruction.

          Quel degré d'exposition à la perte de données votre organisation peut-elle facilement tolérer ?

          Le temps et les efforts nécessaires pour apporter des modifications aux fichiers :
          Si les modifications apportées au fichier ne prennent que peu de temps, la sauvegarde de ces modifications peut ne pas être impérative. Si les modifications nécessitent beaucoup de travail (par exemple, la saisie de données collectées à partir d'un formulaire long), ne risquez pas cet effort et sauvegardez-le fréquemment.

          Deux fois par jour : partiel à midi, complet en fin de journée


        Le lecteur de sauvegarde du district est finalement tombé en panne de manière irréparable. Mais Rita, la responsable de la sécurité, était préparée à cette éventualité et a rapidement produit une copie d'un contrat de maintenance avec son fournisseur qui couvrait exactement ce type d'événement. Elle a appelé le représentant des ventes et on lui a dit qu'elle recevrait un lecteur de remplacement dans les 48 heures. Elle a dit que ce serait bien parce que le système n'était pas dû pour une autre sauvegarde complète pendant trois jours de plus. Deux jours plus tard, la pièce de rechange est arrivée comme promis, mais, au grand dam du commercial, elle n'était pas compatible avec le système du district - la mauvaise pièce avait été envoyée ! Remarquablement, Rita a gardé son sang-froid lorsque le vendeur lui a dit que malgré ses efforts inlassables pour corriger l'erreur, une nouvelle pièce ne pouvait pas atteindre son site rural avant 48 heures. Ils devraient reporter le cycle de sauvegarde. "Pas nécessairement", répondit Rita avec détermination.

        L'objectif principal de "Protéger et continuer" est la préservation des actifs du site et le retour rapide aux activités normales.

        Il existe trois réponses courantes à une attaque contre un système d'information : « protéger et poursuivre », « poursuivre et poursuivre », et « la faille de sécurité et la philosophie de l'organisation. La troisième approche, "paniquez et priez", bien que malheureusement plus courante que les deux premières, n'est jamais une réponse efficace. En fait, toute la raison d'être de la planification d'urgence est de minimiser le besoin de panique et de prière en cas d'incident de sécurité.

        Protéger et continuer. Si la direction craint que le site soit particulièrement vulnérable aux attaques, elle peut choisir une stratégie "protéger et continuer". Lors de la détection d'une attaque, des tentatives sont faites pour interférer activement avec la pénétration de l'intrus, empêcher un empiètement supplémentaire et commencer immédiatement l'évaluation des dommages et la récupération. Ce processus peut impliquer la fermeture d'installations, la fermeture de l'accès au réseau ou d'autres mesures drastiques. L'inconvénient est qu'à moins que l'intrus ne soit identifié directement, il peut revenir sur le site par un chemin différent ou attaquer un autre site.

        Poursuivre et poursuivre. Cette alternative à l'approche "protéger et procéder" adopte la philosophie et les objectifs opposés. Ici, l'objectif principal est de permettre aux intrus de continuer à accéder au système jusqu'à ce qu'ils puissent être identifiés et que des preuves de leurs activités non autorisées soient rassemblées contre eux. Bien que cette approche soit approuvée par les forces de l'ordre et les procureurs en raison des preuves qu'elle peut fournir, le principal inconvénient est que le système et ses informations restent exposés à des dommages potentiels pendant que l'organisation essaie d'identifier la source et de recueillir ses preuves.

        Une attention particulière doit être accordée à ces deux philosophies de réponse aux violations de sécurité par la direction du site. Il est impératif que la prévoyance et la planification aient lieu avant qu'un problème ne survienne, sinon le personnel pourrait ne pas savoir comment réagir en cas d'urgence réelle : protéger et poursuivre, ou poursuivre et poursuivre ? En fait, la stratégie finalement adoptée pourrait même être celle de « dépend des circonstances ». il ou elle s'incrimine et est identifié. D'un autre côté, l'organisation peut décider que des menaces que l'accès aux dossiers confidentiels des étudiants doit être contrecarré immédiatement parce que les coûts potentiels de la divulgation ne valent pas les avantages de capturer l'intrus. Quelle que soit l'approche choisie, les avantages et les inconvénients doivent être soigneusement examinés par les décideurs et les utilisateurs doivent être sensibilisés à leurs responsabilités.

        Une autre décision que la direction doit prendre concerne les distinctions qu'elle choisit de faire entre les différents types d'utilisateurs non autorisés. Les sites peuvent trouver utile de définir qui ils considèrent comme des « insiders » et « des « étrangers » en se référant aux frontières administratives, juridiques ou politiques. Ces limites impliquent le type d'action à prendre pour réprimander une partie fautive, de la censure écrite à la poursuite des poursuites judiciaires. Les plans de sécurité doivent préciser ces options et indiquer comment une réponse appropriée sera déterminée si quelqu'un est surpris en train de se comporter de manière non autorisée.


        Les plans de sécurité doivent également inclure des procédures d'interaction avec des organisations externes, y compris les organismes chargés de l'application de la loi et d'autres sites de soutien à la sécurité. Les procédures devraient indiquer qui est autorisé à établir un tel contact et comment il doit être traité. Les coordonnées des organisations de soutien à la sécurité se trouvent à l'annexe E.
        La planification d'urgence

        Les disques durs vont planter, les surtensions vont zapper Les données, et des dossiers sera effacé accidentellement. La sécurité générale du système (chapitres 5-9) est conçue et mise en œuvre pour protéger une organisation de ces événements perturbateurs. Mais aussi précieux que des serrures, antivirus, étiquettes de disque, et les mots de passe peuvent être, si un incendie, une inondation ou un intrus sophistiqué frappe à votre porte sans y être invité, préparez-vous à des ennuis.

        Ne vous méprenez pas sur le terme planification d'urgence - les événements qui pourraient se produire se produiront, c'est juste une question de quand.


        Pour ceux dans le monde qui ne sont pas invincibles (lisez "tout le monde"), être prêt à surmonter l'imprévisible est sage et nécessaire.

        La planification d'urgence ne protège pas l'organisation d'une menace mais, à la place, détaille explicitement ce qui se passera si (quand) il y a une pénétration ou si le système tombe en panne. Il prépare l'organisation à se remettre d'une brèche de sécurité aussi rapidement et efficacement que possible. En fait, un autre terme pour la planification de type contingence est planification de la récupération. La planification de la récupération après une perte ou un temps d'arrêt n'est pas autant pessimiste que réaliste.

          Créer un inventaire de tous les actifs, y compris les informations (données), les logiciels, Matériel, la documentation et les fournitures - comprennent article par article, le nom du fabricant, le modèle, le numéro de série et d'autres preuves à l'appui. Peut-être filmez votre installation, y compris des gros plans. Tenez-le à jour et n'oubliez pas périphériques.

          Un site "hot" est une installation hors site qui comprend des ordinateurs, des données sauvegardées, etc. (tout le nécessaire pour la reprise des opérations)

          Identifiez d'autres lieux de réunion et de démarrage à utiliser au cas où les installations habituelles seraient endommagées ou détruites.

          Rôles et responsabilités individuels - par nom et titre du poste afin que chacun sache exactement ce qui doit être fait

        La plupart des organisations subissent une sorte de bilan financier annuel auditer dans le cadre de leur vie fiscale. Alors, aussi, sont audits de sécurité une partie importante de l'exécution de tout environnement informatique. Un audit de sécurité complet doit inclure un examen de toutes les politiques qui affectent ou sont affectées par la sécurité du système, ainsi qu'un test approfondi de chaque mécanisme mis en place pour appliquer lesdites politiques. Après tout, un plan n'est pas très bon s'il ne peut pas être mis en œuvre - et le seul moyen d'être vraiment sûr que les politiques et les mécanismes de sécurité sont correctement mis en œuvre est de procéder à des tests approfondis (ou lors d'une véritable urgence, auquel cas il est trop tard pour corriger les lacunes).



        Gardez à l'esprit qu'il y a des limites aux tests raisonnables. Le but des tests est de vérifier que les procédures de sécurité sont correctement mises en œuvre et répondent aux objectifs stratégiques critiques, et non de prouver le caractère absolu de chaque aspect du système et de la stratégie.
        Bien que exercices de sécurité ne peuvent pas être programmés tous les jours de la semaine sans affecter sérieusement la productivité du bureau (et probablement le moral), ils doivent être effectués aussi souvent que nécessaire pour déterminer que les procédures de sécurité sont mises en œuvre efficacement. Quel genre d'exercices ? Eh bien, si votre évaluation des risques (voir le chapitre 2) identifie un type particulier de catastrophe naturelle comme une menace principale pour votre organisation, alors un exercice basé sur ce scénario pourrait être construit (par exemple, un test pour vérifier vos mécanismes de sauvegarde et de récupération après un tremblement de terre). D'un autre côté, si votre plus grande menace provient d'intrus externes tentant de pénétrer dans votre système, un exercice peut être effectué pour simuler un pirate attaque afin d'observer l'accès contre-mesures en action.

        City Schools s'est engagé à assurer une sécurité du système de premier ordre. Il a affecté un membre du personnel au poste de responsable de la sécurité à temps plein, acheté du matériel de sauvegarde à la pointe de la technologie et rénové un ancien bâtiment qu'il possédait à la périphérie de la ville pour servir de stockage hors site pour ses bandes de sauvegarde. Le responsable de la sécurité, ayant assisté à de nombreuses conférences sur la technologie et la sécurité pour se tenir au courant de ses responsabilités professionnelles, était fier de son système et a testé chaque étape de ses procédures de sauvegarde jusqu'à ce que les bandes arrivent sur les étagères de l'installation de stockage hors site. À la connaissance du responsable, les exercices de sécurité ont prouvé à maintes reprises que le système était vraiment fiable. Une nuit, alors que le directeur était allongé dans son lit en pensant à quel point le système de sécurité des écoles de la ville était merveilleux, il s'est rendu compte qu'il n'avait jamais rechargé les bandes de sauvegarde à partir d'un stockage hors site. Il était, bien sûr, très confiant que l'installation (avec ses rénovations ignifuges, sa moquette antistatique et son gardien de sécurité à temps plein) était sécurisée, mais a reconnu qu'il ne pouvait pas en être sûr avant de l'avoir réellement testé.

        Le lendemain matin, il s'est rendu à l'établissement, s'est enregistré avec le gardien de sécurité, a saisi la combinaison pour déverrouiller la porte et a signé un échantillon de bande. Il l'a apporté à son bureau et a essayé de le recharger sur un ordinateur "de test" autonome, mais, à sa grande surprise, a découvert que la bande ne contenait aucune donnée. Il est immédiatement retourné à l'installation de stockage pour retirer une autre bande, mais encore une fois, en essayant de lire les données, il a constaté qu'il n'y avait aucun fichier.

        Plus vite qu'un éclair, le responsable de la sécurité a fait appel à une équipe de consultants en sécurité de haute technologie pour diagnostiquer son problème. Il leur a montré ses enregistrements test après test et exercice après exercice qui vérifiaient que toutes les étapes de pré-stockage pour sauvegarder les données étaient correctement mises en œuvre. Les spécialistes étaient convaincus que l'installation hors site était le point de départ de l'enquête. Alors qu'ils approchaient du bâtiment, le responsable de la sécurité a mentionné que même s'il n'avait pas pensé à budgétiser les frais horaires élevés des consultants experts, ils devraient prendre tout le temps nécessaire pour résoudre le problème car il voulait que ce système de sauvegarde fonctionne correctement. À cela, le consultant principal a répondu alors qu'il se dirigeait vers la porte : « Eh bien, dans ce cas, je pense que j'ai de bonnes et de mauvaises nouvelles à vous annoncer. La bonne nouvelle, c'est que j'ai déjà identifié votre problème et que je n'aurai à vous facturer qu'une heure de travail."

        "C'est une bonne nouvelle", a répondu le directeur. "Mais quelle est la mauvaise nouvelle ?"

        "La mauvaise nouvelle est ce transformateur électrique derrière l'installation de stockage. À moins que vous n'ayez des murs en plomb, il émane suffisamment d'électricité résiduelle pour effacer toutes les bandes que vous avez dans le bâtiment. Vous allez devoir déplacer votre site de stockage."

        « Mais nous avons un site très sécurisé ici », a soutenu désespérément le responsable. "Il dispose d'un gardien de sécurité, d'un système d'arrosage à la pointe de la technologie et d'une moquette antistatique."

          Le ou les professionnels de la sécurité de l'organisation

        La sécurité ne se limite pas à empêcher les pirates et autres fauteurs de troubles d'entrer dans votre système. Il s'agit d'une multitude de pratiques internes qui servent à protéger l'information en cas de système ou disque échec. Certaines des principales activités des responsables de la sécurité au quotidien incluent l'administration des mécanismes de sauvegarde et de protection antivirus, la mise à jour des logiciels, la gestion des comptes d'utilisateurs et la surveillance de l'activité du système.


        Les pratiques recommandées concernant les procédures de sauvegarde réelles sont incluses dans le chapitre 6.
        Option A : Dans la même pièce, idéal pour récupérer facilement des fichiers après une perte de données, mais mauvais si une menace pénètre dans la pièce.
        Option B : Dans le même bâtiment - moins pratique pour corriger les erreurs, mais la séparation physique augmente la sécurité car un seul événement est moins susceptible de tout endommager
        Option C : Dans un emplacement sécurisé hors site - pas du tout pratique pour une récupération rapide des données, mais excellent pour la protection s'il est maintenu dans une installation sécurisée.
        Comme toutes les décisions de sécurité, la sélection d'un emplacement pour les installations de stockage hors site doit être basée sur les résultats de l'évaluation des risques. Si, par exemple, l'évaluation des risques montre qu'un tremblement de terre est la menace la plus préoccupante, la localisation d'une installation de stockage hors site à 100 milles de distance mais le long de la même ligne de faille n'a guère de sens. De même, si l'évaluation des risques identifie les inondations comme une menace primordiale, l'emplacement du stockage hors site doit se trouver en dehors de la même plaine inondable.

        Voir le chapitre 6 pour des directives plus spécifiques sur la lutte contre les virus et autres programmes malveillants.
        Protection antivirus

        Toute machine connectée à un réseau ou qui interagit avec d'autres via disquettes ou un modem est vulnérable à programmes malveillants : virus informatiques, vers, chevaux de Troie, etc. Il est du devoir du responsable de la sécurité de développer et de surveiller des procédures pour empêcher les virus et autres programmes malveillants de s'infiltrer dans le système. En règle générale, aucune disquette provenant de l'extérieur du système (y compris le nom de marque, le logiciel sous film rétractable) ne doit jamais être utilisée sur une machine système sans avoir été préalablement numérisée par un antivirus programme.

        Il va sans dire que les systèmes informatiques ont Bugs. Même systèmes d'exploitation, dont nous dépendons pour une grande partie de la protection de nos informations, ont des bogues. Pour cette raison, les éditeurs de logiciels publient fréquemment des mises à jour. Souvent, ces mises à jour sont en fait des bouchons pour des failles dans la sécurité du logiciel qui ont été découvertes. Il est important que chaque fois que ces bogues sont identifiés, le gestionnaire du système prenne toutes les mesures possibles pour y remédier dans les plus brefs délais afin de minimiser l'exposition.

        Un corollaire du "problème du bug" traite de la source pour obtenir mises à niveau au logiciel. De nombreux systèmes informatiques et progiciels sont fournis avec l'assistance du fabricant ou du fournisseur. Les remèdes qui proviennent directement d'une telle source ont tendance à être dignes de confiance et peuvent généralement être mis en œuvre assez rapidement après réception (et tests appropriés, quelle que soit la source). D'autres sources, telles que les logiciels publiés sur l'Internet sites, doivent être scrutés de plus près.

        Comme indiqué tout au long de ce chapitre, une seule personne doit avoir la responsabilité principale d'un système d'information. Pour que cette personne, le responsable de la sécurité ou l'administrateur système, pour superviser efficacement le système, il ou elle doit avoir accès à tous les composants et fichiers du système - accès communément appelé « privilèges d'administrateur système ». Il est généralement considéré comme bon pratique de partager les privilèges d'accès de l'administrateur système avec quelqu'un d'autre que l'administrateur système, ne serait-ce que pour avoir un accès d'urgence au système au cas où l'administrateur deviendrait indisponible. Mais, ceci dit, un tel accès total nécessite également une responsabilité totale et devrait être limité au plus petit nombre d'employés nécessaire pour assurer la sécurité du système. Après tout, chaque personne ayant un accès total au système a la capacité de passer outre fonctions de sécurité.

        Les utilisateurs autres que le gestionnaire du système (et un remplaçant responsable en cas d'urgence) devraient avoir accès au système en fonction uniquement de leurs besoins professionnels. Restreindre l'accès des utilisateurs minimise les risques d'accidents et d'autres actions éventuellement inappropriées (voir chapitre 8). Grâce à l'utilisation de comptes d'utilisateurs, chaque utilisateur autorisé est identifié avant d'accéder au système, et toute action effectuée par cet utilisateur est classée comme telle.

        Les utilisateurs ne devraient avoir accès qu'aux fichiers et aux systèmes dont ils ont besoin pour faire leur travail, et rien de plus.


        Pour reconnaître les écarts par rapport à l'utilisation normale du système, le gestionnaire doit comprendre comment le système se comporte lorsqu'il fonctionne correctement.
        Surveillance de l'utilisation du système

          Comparer les listes d'utilisateurs actuellement connectés et passés connexion histoires. La plupart des utilisateurs se connectent et se déconnectent généralement à peu près à la même heure chaque jour. Un compte connecté en dehors de l'heure "normale" du compte peut être le signe d'une activité non autorisée et nécessiter une enquête et des explications.

        Steve était sérieux au sujet de la sécurité du système informatique de son école. Et bien que certaines personnes aient pu penser qu'il était peut-être trop sérieux, cela ne l'a pas empêché de les obliger à suivre la ligne de sécurité tout de même. Il était un genre de responsable de la sécurité pragmatique.

        Lorsqu'il a remarqué une activité du système extraordinairement étrange un après-midi au cours de ses opérations de surveillance quotidiennes (mais chronométrées au hasard), il était rapidement sur la piste du fauteur de troubles. Steve savait qu'il était un responsable de la sécurité efficace, mais il s'est même surpris lui-même à retracer si rapidement les violations jusqu'à Mme Todd, l'enseignante de cinquième année. Il aurait dû savoir qu'il n'avait jamais fait confiance à Mme Todd. Personne ne pouvait être aussi gentil, ça devait être une ruse.

        Steve marcha dans le couloir et franchit la porte de la salle de classe vide à temps pour trouver la coupable toujours assise devant son ordinateur. Il pouvait à peine se contrôler, "Qu'est-ce que vous pensez être en train de faire ? Vous pourriez perdre votre emploi pour avoir piraté mon système. En fait, je vais faire de mon mieux pour que vous le fassiez !"

        Comme Steve aurait pu le prévoir, Mme Todd a nié avoir fait quoi que ce soit d'inapproprié. "Mais, M. Johnson, de quoi parlez-vous. Et s'il te plaît, n'utilise pas ce ton avec moi.
        "Tone?", répondit Steve avec étonnement. "Vous avez de la chance que tout ce que j'utilise est "tone" avec vous. Maintenant, laisse-moi voir ce que tu fais ici. » Il marcha derrière le bureau de Mme Todd et regarda l'écran de son moniteur. "Hmm," pensa Steve à voix haute, surpris de voir qu'elle travaillait sur le carnet de notes électronique qui se trouvait sur son propre disque dur et ne nécessitait pas d'être connecté au réseau. "Que faisiez-vous avant que j'arrive ici ? Étiez-vous sur le réseau ?"

        Mme Todd avait l'air perplexe, "Non, je suis dans mon carnet de notes depuis que les enfants sont partis. Pourquoi ?"
        Avant que Steve ne puisse continuer son interrogatoire, Mme Yow, la principale, a chargé dans la pièce. "Qu'est-ce que c'est que toute cette agitation, Steve ? Je t'entendais hurler à mi-chemin dans le couloir."
        "J'ai surpris Mme Todd en train de falsifier les fichiers du bulletin sur le réseau. C'est une infraction grave à notre système de sécurité.

        Mme Todd n'a pas tardé à se défendre. "Il n'a rien fait de tel, Mme Yow. Il n'aurait pas pu me prendre en train de faire ça parce que je ne ferais jamais une telle chose. Écoute, je travaille sur mon propre carnet de notes."

        Steve était surpris que Mme Todd soit capable de garder un visage aussi impassible alors qu'il l'avait presque prise en flagrant délit. Mais avant qu'il ne puisse dire quoi que ce soit, Mme Yow attrapa le clavier de Mme Todd. Elle a appuyé sur quelques touches de fonction et a cliqué une ou deux fois avec la souris. Steve pouvait dire qu'elle dressait une piste d'audit de l'utilisation de l'ordinateur. Il aimait avoir un directeur qui connaissait bien l'équipement!

        "Steve", a demandé Mme Yow, "A quelle heure la violation a-t-elle eu lieu ?"

        « Trois heures », a-t-il répondu, « juste après la dernière période. C'est alors que Mme Todd a dit qu'elle s'était mise sur l'ordinateur. C'est une coïncidence, hein ?"

        Le directeur le regarda fixement : "Cela doit être une coïncidence, car la piste de vérification montre qu'elle est dans son dossier de notes depuis 15 h 02.Aucune activité avant cela depuis huit heures ce matin." Mme Yow fronça les sourcils à Steve avant de regarder en s'excusant le professeur de cinquième année, "Je suis désolée Mme Todd. Il peut parfois s'emporter, mais il a un gros travail pour assurer la sécurité de notre réseau. " Elle se retourna vers Steve, " Aviez-vous vraiment besoin de faire une telle scène alors que vous n'étiez même pas sûr d'accuser la bonne personne ?"

        Steve a essayé de répondre, mais Mme Todd l'a interrompu. "Ce n'est pas grave, il a dû vraiment penser qu'il avait trouvé le coupable." Elle a ri, "Moi, un pirate informatique, n'est-ce pas une histoire ?"

        Steve regarda la femme qui le défendait maintenant. Quelques instants plus tôt, il l'avait accusée à tort de piratage et avait menacé son emploi. Donc, elle pourrait vraiment être si douce après tout.

        « Allez, Steve », a finalement déclaré Mme Yow, brisant le silence, « nous avons un pirate informatique à identifier. Cette fois, ne partez pas à moitié armé avec des accusations jusqu'à ce que nous sachions de quoi nous parlons."

        Post-scriptum : Au cours des deux semaines suivantes, Steve et Mme Yow ont surveillé un pirate informatique qui se faisait passer pour plusieurs membres du personnel (y compris Mme Yow) et tentaient d'entrer des fichiers de bulletins protégés. Après de nombreuses analyses, Steve a identifié un bogue dans le logiciel de mot de passe qui a permis au pirate de se faire passer pour un utilisateur autorisé. Une fois cela accompli, ils ont pu retracer les activités non autorisées jusqu'à la machine à partir de laquelle l'intrus travaillait et, par la suite, ont pu attraper l'élève de huitième année qui tentait de réussir la mascarade. Après avoir traité l'élève gênant de manière appropriée (pendant lequel Steve a laissé Mme Yow parler la plupart du temps), Steve s'est à nouveau excusé auprès de la douce Mme Todd pour ses accusations injustifiées et son comportement non professionnel.


        La tâche de surveillance des systèmes n'est pas aussi intimidante qu'il y paraît. Les responsables de la sécurité peuvent exécuter de nombreuses tâches de surveillance périodiquement tout au long de la journée, même pendant les moments libres les plus brefs (par exemple, pendant une attente au téléphone). En exécutant fréquemment les commandes, le manager se familiarisera rapidement avec la visualisation des activités « normales » et sera mieux à même de repérer les choses qui sortent de l'ordinaire.

        La chose la plus importante à propos de la surveillance de l'utilisation du système est qu'elle soit effectuée régulièrement. Choisir un jour dans le mois pour surveiller le système n'est pas une stratégie de sécurité solide, car une violation peut se produire en quelques heures, voire quelques minutes. Ce n'est qu'en maintenant une vigilance constante que vous pouvez vous attendre à détecter les violations de sécurité à temps pour y réagir.

        Malgré les avantages offerts par la surveillance régulière du système, certains intrus connaîtront les mécanismes de connexion standard utilisés par les systèmes qu'ils attaquent et tenteront activement d'échapper à ces mécanismes. Ainsi, bien qu'une surveillance régulière soit utile pour détecter les intrus, elle ne garantit pas que votre système est sécurisé et ne doit pas être considérée comme une méthode infaillible de détection d'une utilisation non autorisée.

        Une question finale (mais très importante)
        Q.Comment un responsable sécurité vérifie-t-il que le système dont il est responsable est bien sécurisé ?

        A. 1) Lisez ce document et suivez les consignes de sécurité décrites dans les listes de contrôle à la fin de chaque chapitre.

        Bien qu'il puisse être tentant de simplement se référer à la liste de contrôle suivante comme plan de sécurité, cela limiterait l'efficacité des recommandations. Ils sont particulièrement utiles lorsqu'ils sont initiés dans le cadre d'un plan plus large pour développer et mettre en œuvre une politique de sécurité dans l'ensemble d'une organisation. D'autres chapitres de ce document traitent également des manières de personnaliser la politique en fonction des besoins spécifiques de votre organisation - un concept qui ne doit pas être ignoré si vous souhaitez maximiser l'efficacité d'une directive donnée.


        3 réponses 3

        Voici une démo que j'ai écrite il y a quelque temps. Le code n'interroge que 1 000 lignes, mais vous pouvez modifier la limite à 50 000 lignes. Le processus de chargement réel prendra quelques secondes (je suppose environ 4 à 6 secondes), mais la pagination devrait être suffisamment rapide pour des utilisations pratiques. Si vous souhaitez utiliser une sorte de pagination, vous pouvez trier par Id ou CreatedDate, puis effectuer la requête par morceaux. Les performances réelles varieront cependant, vous devrez donc effectuer des tests pour voir s'il est nécessaire d'effectuer plusieurs requêtes.


        Quelle est la stratégie pour ajouter des attributs au fichier de formes lorsque le nombre d'enregistrements n'est pas le même ? - Systèmes d'information géographique

        L'interopérabilité décrit la capacité d'une application informatique de santé à partager des informations avec une autre dans un format calculable (c'est-à-dire, par exemple, pas simplement en partageant un fichier PDF [format de document portable]).


        De nombreux médecins utilisent la dictée vocale pour documenter et rapporter les résultats des examens et des procédures. La transcription médicale est, dans son sens le plus simple, le processus par lequel ces notes dictées sur les soins d'un patient sont converties en un format dactylographié.


        Les taux d'adoption varient selon la définition des TI de la santé utilisée dans une enquête particulière. Les tarifs indiqués ici sont basés sur l'adoption de systèmes informatiques de santé qui incluent toutes ou la plupart des fonctionnalités recommandées, telles que la documentation électronique des fournisseurs, la visualisation électronique des résultats de laboratoire et radiologiques, la prescription électronique, la saisie informatisée des ordonnances des médecins, l'aide à la décision clinique et l'interopérabilité.


        Ces organisations diffèrent de Kaiser en ce qu'elles n'ont généralement pas de relations contractuelles exclusives avec les fournisseurs. Dans un système de prestation intégré typique, les prestataires sont soit des employés salariés, soit opèrent dans le cadre d'un partenariat contractuel étroit avec l'organisation. Un tel système a souvent un plan de santé qui couvre un pourcentage substantiel de ses patients mais traite également les patients qui sont assurés par d'autres plans concurrents. La relation contractuelle exclusive de Kaiser & rsquos avec ses fournisseurs est rare : l'arrangement crée des incitations financières qui ressemblent plus à celles d'un HMO modèle de personnel qu'à un système de prestation intégré typique.


        Dans l'enquête, rapportée par Hing, Burt et Woodwell en 2007, un système de DME était considéré comme complet si les répondants répondaient « oui » aux questions sur les applications informatiques pour commander des ordonnances et des tests et pour les résultats des tests et les notes cliniques.


        Les systèmes informatisés de saisie des ordonnances des médecins sont des applications électroniques que les médecins utilisent pour commander des médicaments, des tests de diagnostic et d'autres services.


        Certains analystes soulignent que ces tendances indiquent que le gouvernement américain pourrait accroître l'adoption de systèmes informatiques de santé grâce à des subventions, mais qu'un tel soutien n'entraînerait pas nécessairement l'adoption ou l'utilisation de ces systèmes & fonctionnalités plus sophistiquées. Voir la discussion ultérieure sur la question du rôle potentiel du gouvernement fédéral dans l'accélération de l'adoption des TI en santé.


        L'étude formule également des hypothèses probablement optimistes quant aux économies résultant d'une utilisation plus efficace des médicaments sur ordonnance (par exemple, en passant aux médicaments génériques). Il s'appuie sur les résultats de trois études portant sur les effets des technologies de l'information sur la santé sur l'utilisation des médicaments, chacune présentant des inconvénients importants. Deux des études ont été menées par un cabinet de conseil privé et n'ont pas été publiées dans une revue à comité de lecture. Une de ces études était basée sur les expériences d'une seule clinique et l'autre était une estimation des économies potentielles résultant de l'utilisation d'un fournisseur particulier. -prescription du produit. La troisième étude était basée sur les opinions d'un groupe d'experts, qui a estimé les économies uniquement pour les régimes à la capitation et non pour les régimes de rémunération à l'acte. (Dans les plans à capitalisation, les prestataires offrent des services spécifiques aux patients pour un tarif mensuel fixe, quel que soit le montant des soins que chaque patient reçoit réellement.) Les chercheurs de RAND ont implicitement supposé que les économies dans le secteur de la rémunération à l'acte seraient les mêmes que celles dans le secteur capitalisé. Cette hypothèse surestime probablement l'impact de l'utilisation des technologies de l'information en santé, car elle ignore l'ensemble très différent d'incitations économiques auxquelles sont confrontés les prestataires captifs par rapport à ceux auxquels sont confrontés les prestataires rémunérés à l'acte.


        De plus, l'estimation de la réduction de la durée moyenne de séjour était basée sur la réduction moyenne rapportée dans trois études. Deux d'entre elles étaient des études de cas portant sur un seul hôpital qui rapportaient des réductions très différentes&mdash5 % et 30 %&mdashin des séjours moyens. La troisième étude était basée sur des données de 1996, période pendant laquelle les hôpitaux réduisaient considérablement leurs coûts par admission en réponse aux pressions de la propagation protocole de soins. Aujourd'hui, plus de 10 ans après que les hôpitaux ont connu pour la première fois de telles forces, il est peu probable que des économies supplémentaires soient aussi faciles à obtenir qu'elles l'étaient au cours de cette période antérieure.


        Wang et ses collègues (2003) estiment que les systèmes informatiques de santé dans les cabinets des médecins de soins primaires pourraient économiser 15 % des coûts totaux des médicaments par an dans le cadre des régimes à capitalisation, mais ce nombre est basé sur les opinions d'un groupe d'experts et non sur des données réelles. Étant donné que les plans de capitation ont déjà une puissante incitation à encourager l'utilisation de médicaments moins chers, un effet de 15 pour cent peut être trop optimiste. Certaines recherches indiquent également que certains prestataires ont apparemment des difficultés à utiliser les fonctions de prescription dans les systèmes informatiques de santé (Wang et al., 2003 Grossman et al., 2007).


        Communication personnelle au CBO de Len Bowes, informaticien médical principal, Intermountain Healthcare, 18 mai 2008 Clayton et autres (2005).


        Communication personnelle au personnel du CBO de Mark Leavitt, directeur exécutif, Certification Commission for Healthcare Information Technology, 7 février 2008.


        Cependant, toutes les erreurs médicamenteuses graves ne conduisent pas à des événements indésirables médicamenteux. Environ 57 pour cent de toutes ces erreurs n'ont aucun effet indésirable sur le patient, elles sont souvent appelées « événements indésirables potentiels liés aux médicaments » (Bates et al., 1988a).


        Par exemple, le taux de chirurgies du dos varie d'un État à un peu moins de 2 pour 1 000 inscrits à l'assurance-maladie à Hawaï à plus de 9 dans le Wyoming.


        Jugés sur la base de 348 indicateurs utilisés pour évaluer le traitement de 26 affections, les meilleures pratiques de soins ont été fournies pour 67 pour cent des patients AV contre 51 pour cent des patients non AV. Des différences particulièrement importantes entre les deux types de patients ont été observées dans les mesures de la qualité des soins aux maladies chroniques et des soins préventifs.


        Les études examinées par le CBO rapportent généralement les coûts par médecin ou par lit d'hôpital. Certains coûts peuvent varier dans un cadre donné le long de ces dimensions, d'autres sont plus fixes.


        Les systèmes de DSE dans les hôpitaux comprennent généralement une composante CPOE, de sorte que les discussions sur les TI de la santé dans les hôpitaux peuvent utiliser les deux termes de manière interchangeable.


        Communications personnelles au personnel du CBO de James Walker, directeur de l'information, Geisinger Health System, 19 mai 2008 et Len Bowes, informaticien médical principal, Intermountain Healthcare, 18 mai 2008.


        Communication personnelle au CBO de Len Bowes, informaticien médical principal, Intermountain Healthcare, 18 mai 2008 Clayton et autres (2005).



        Répertoire par jeu de données

        Radio Nationale Publique données de dialogue d'entretien

        Cette vie américaine transcriptions de podcasts

        Recettes et les interactions de food.com

        EndoMondo données de suivi de la condition physique

        Amazone critiques de produits et métadonnées

        Amazone données de question/réponse

        Amazone données de biais marketing

        Google Local revues d'entreprise et métadonnées

        Fumer critiques de jeux vidéo et bundles

        Pinterest données de compatibilité de la mode

        Tissu Mod commentaires sur l'ajustement des vêtements

        Tissu Mod données de biais marketing

        RentTheRunway commentaires sur l'ajustement des vêtements

        Behance critiques d'art communautaire et fonctionnalités d'image

        Bibliothèque avis et données sociales

        Épinions avis et données sociales

        BièreAvocat critiques de bières multi-aspects

        TarifBière critiques de bières multi-aspects

        Facebook données des cercles sociaux

        Twitter données des cercles sociaux

        Google+ données des cercles sociaux

        Reddit popularité des soumissions et métadonnées


        3. Fonctions du portail DRN

        Cette section spécifie les exigences et la conception des modifications apportées au portail DRN.

        3.1. Gestionnaire de contrôle d'accès/Autorisations de données

        Aperçu de l'exigence

        Le système existant contient une fonctionnalité « démo » qui suggère des fonctionnalités de contrôle d'accès potentielles. La fonctionnalité « démo » sera remplacée par une véritable fonction de contrôle d'accès. Une architecture de contrôle d'accès sera conçue et un cadre de contrôle d'accès de base sera construit. La mise en œuvre initiale comprendra des fonctions d'autorisation de données permettant aux administrateurs système et aux administrateurs de magasins de données de restreindre l'accès aux magasins de données et aux types de requêtes (par exemple, les codes de diagnostic ICD-9 ou les noms génériques), en fonction d'utilisateurs individuels ou d'organisations entières.

        Concepts de contrôle d'accès

        Entité-fait référence au destinataire d'une autorisation, tel qu'un utilisateur ou une organisation. Les entités sont organisées en une hiérarchie, les autorisations accordées aux entités "parentes" (par exemple, une organisation) sont "héritées" par les entités "enfants" (par exemple, un utilisateur).

        Autorisation-désigne une autorisation accordée ou restreinte par le contrôle d'accès. Les autorisations sont associées à une cible et accordées à une entité.

        Cibler-fait référence à l'objet d'une autorisation. Il peut s'agir d'un droit (par exemple, "soumettre une requête"), d'une ressource (par exemple, un magasin de données) ou de données (par exemple, un type de requête).

        Entités de contrôle d'accès

        Le schéma ci-dessous illustre la hiérarchie des entités pour le contrôle d'accès :

        Figure 2. Hiérarchie des entités de contrôle d'accès

        Tableau 4. Entités de contrôle d'accès

        Entité La description
        Grouper Un groupe d'organisations connexes (par exemple, Kaiser Permanente, HMO Research Network)
        Organisation Une entreprise ou une institution (par exemple, Kaiser Permanente Colorado ou AHRQ). Les organisations appartiennent peuvent appartenir à un nombre quelconque de groupes (ou à aucun groupe).
        Utilisateur Une personne individuelle. Les utilisateurs appartiennent à une seule organisation.

        Noter que l'entité Utilisateur existe déjà dans la base de données du portail DRN. Groupe et Organisation sont de nouvelles entités.

        Les autorisations sont héritées par les entités via les relations parent/enfant. Une organisation hérite de toutes les autorisations accordées à tous les groupes auxquels elle appartient, et un utilisateur hérite de toutes les autorisations accordées à son organisation parent. Ainsi, un utilisateur a l'union de toutes les autorisations accordées à l'utilisateur, à l'organisation parente et à tous les groupes parents.

        Cibles de contrôle d'accès

        Le tableau ci-dessous résume les cibles de contrôle d'accès à inclure dans le DRN 1.5.

        Tableau 5. Cibles de contrôle d'accès

        Cibler La description
        DataMart Instance d'une base de données distante, généralement hébergée par un partenaire. L'octroi d'une autorisation à un data mart permet à la cible (utilisateur, organisation ou groupe) de soumettre des requêtes à ce data mart. Les autorisations d'administrer un datamart et de répondre aux requêtes soumises à un datamart sont couvertes par les Droits.
        Droits Les droits représentent des capacités ou des fonctions disponibles pour les utilisateurs du système, telles que « connexion » ou « soumettre une requête ». L'octroi d'un droit permet à la cible (utilisateur, organisation ou groupe) d'utiliser une fonction particulière (par exemple, « administrer le profil utilisateur ») ou d'utiliser une fonction particulière d'une manière particulière (par exemple, « administrer le profil utilisateur d'un autre utilisateur dans le même organisation").
        Type de requête L'octroi d'une autorisation à un type de requête permet à la cible (utilisateur, organisation ou groupe) de soumettre des requêtes de ce type.

        Droits

        La liste ci-dessous précise les droits qui peuvent être accordés dans DRN 1.5.
        Les éléments indiqués en italique ne seront pas inclus dans le DRN 1.5 mais sont envisagés pour les phases futures.

        • Fonctions du portail
          • Accéder
            • Connectez-vous au portail (Connexion)
            • Soumettre la requête
            • Voir la liste des requêtes soumises par vous-même
            • Afficher la liste des requêtes soumises par n'importe quel utilisateur de la même organisation
            • Afficher la liste des requêtes soumises par n'importe quel utilisateur du même groupe
            • Afficher la liste des requêtes soumises par n'importe quel utilisateur
            • Afficher le résumé des résultats pour les requêtes soumises par vous-même
            • Afficher le résumé des résultats pour les requêtes soumises par n'importe quel utilisateur de la même organisation
            • Afficher le résumé des résultats pour les requêtes soumises par n'importe quel utilisateur du même groupe
            • Afficher le résumé des résultats pour les requêtes soumises par n'importe quel utilisateur
            • Afficher le détail des résultats pour les requêtes soumises par vous-même
            • Afficher le détail des résultats des requêtes soumises par n'importe quel utilisateur de la même organisation
            • Afficher le détail des résultats pour les requêtes soumises par n'importe quel utilisateur du même groupe
            • Afficher le détail des résultats pour les requêtes soumises par n'importe quel utilisateur
            • Administrer le profil utilisateur pour n'importe quel utilisateur de la même organisation
            • Administrer le profil utilisateur pour n'importe quel utilisateur du même groupe
            • Administrer le profil utilisateur pour n'importe quel utilisateur
            • Créer un utilisateur dans la même organisation
            • Créer un utilisateur dans le même groupe
            • Créer n'importe quel utilisateur
            • Accorder des autorisations au niveau de l'organisation
            • Accorder des autorisations au niveau du groupe
            • Accorder des autorisations à l'échelle du système
            • Administrer Data Mart pour la même organisation
            • Administrer n'importe quel Data Mart
            • Administrer les rôles
            • Accéder
              • Connectez-vous au portail via Data Mart Client
              • Afficher la liste des requêtes soumises au magasin de données
              • Afficher les détails de la requête
              • Requête en attente
              • Rejeter la requête
              • Exécuter la requête
              • Télécharger les résultats

              Modèle de données de contrôle d'accès

              Les diagrammes ci-dessous illustrent le modèle de données pour le contrôle d'accès, pour les DataMarts, les QueryTypes et les droits. Dans chaque cas, les autorisations sont stockées dans une "table de jointure" plusieurs-à-plusieurs qui joint la cible de contrôle d'accès (DataMart, QueryType ou Right) à l'entité à laquelle l'autorisation est accordée (utilisateur, organisation ou groupe). La présence d'un enregistrement dans la table de jointure représente une autorisation accordée, tandis que l'absence d'enregistrement indique que l'autorisation n'a pas été accordée.

              Modèle de données de contrôle d'accès pour les utilisateurs, les groupes et les organisations

              Le diagramme ci-dessous illustre le modèle de données pour les entités de contrôle d'accès (utilisateurs, groupes et organisations). Notez que l'entité Users existe déjà dans la base de données du portail DRN, mais les groupes et les organisations sont nouveaux dans DRN 1.5 :

              Figure 3. Modèle de données de contrôle d'accès pour les organisations et les groupes

              Modèle de données de contrôle d'accès pour DataMarts

              Le diagramme ci-dessous illustre le modèle de données pour définir les autorisations entre les entités et les DataMarts.

              Figure 4. Modèle de données de contrôle d'accès pour DataMarts

              Modèle de données de contrôle d'accès pour les types de requête

              Le diagramme ci-dessous illustre le modèle de données pour définir les autorisations entre les entités et les QueryTypes.

              Figure 5. Modèle de données de contrôle d'accès pour QueryTypes

              Modèle de données de contrôle d'accès pour les droits

              Le diagramme ci-dessous illustre le modèle de données pour définir les autorisations entre les entités et les Droits.

              Figure 6. Modèle de données de contrôle d'accès pour les droits

              Conception du gestionnaire de contrôle d'accès

              Le gestionnaire de contrôle d'accès implémente des méthodes d'octroi et de vérification des autorisations et inclut les méthodes décrites ci-dessous.

              Méthodes d'octroi d'autorisations et de droits

              void GrantUserDataMartPermission(int UserId, int DataMartId)
              Accorde à l'utilisateur spécifié l'autorisation d'utiliser le DataMart spécifié.

              void GrantOrganizationDataMartPermission(int OrganizationId, int DataMartId)
              Accorde à l'organisation spécifiée l'autorisation d'utiliser le DataMart spécifié.

              void GrantGroupDataMartPermission(int GroupId, int DataMartId)
              Accorde l'autorisation de groupe spécifiée pour utiliser le DataMart spécifié.

              void GrantUserQueryTypePermission(int UserId, int QueryTypeId)
              Accorde à l'utilisateur spécifié l'autorisation d'utiliser le type de requête spécifié.

              void GrantOrganizationQueryTypePermission(int OrganizationId, int QueryTypeId)
              Accorde à l'organisation spécifiée l'autorisation d'utiliser le type de requête spécifié.

              void GrantGroupQueryTypePermission(int GroupId, int QueryTypeId)
              Accorde au groupe spécifié l'autorisation d'utiliser le type de requête spécifié.

              void AddRightToRole (int RoleTypeId, int RightId)
              Accorde le droit spécifié à l'utilisateur spécifié.

              void GrantOrganizationRight (int OrganizationId, int RightId)
              Accorde le droit spécifié à l'organisation spécifiée.

              void GrantGroupRight (int GroupId, int RightId)
              Accorde le droit spécifié au groupe spécifié.

              Méthodes de révocation des autorisations et des droits

              void RevokeUserDataMartPermission(int UserId, int DataMartId)
              Révoque l'autorisation de l'utilisateur spécifié d'utiliser le DataMart spécifié.

              void RevokeOrganizationDataMartPermission(int OrganizationId, int DataMartId)
              Révoque l'autorisation d'organisation spécifiée pour utiliser le DataMart spécifié.

              void RevokeGroupDataMartPermission(int GroupId, int DataMartId)
              Révoque l'autorisation de groupe spécifiée pour utiliser le DataMart spécifié.

              void RevokeUserQueryTypePermission(int UserId, int QueryTypeId)
              Révoque l'autorisation utilisateur spécifiée d'utiliser le type de requête spécifié.

              void RevokeOrganizationQueryTypePermission(int OrganizationId, int QueryTypeId)
              Révoque l'autorisation d'organisation spécifiée pour utiliser le type de requête spécifié.

              void RevokeGroupQueryTypePermission(int GroupId, int QueryTypeId)
              Révoque l'autorisation de groupe spécifiée pour utiliser le type de requête spécifié.

              void RemoveRightFromRole (int RoleTypeId, int RightId)
              Révoque le droit spécifié à partir d'un rôle (chaque utilisateur doit se voir attribuer un rôle).

              void RevokeOrganizationRight (int OrganizationId, int RightId)
              Révoque le droit spécifié de l'organisation spécifiée.

              void RevokeGroupRight (int GroupId, int RightId)
              Révoque le droit spécifié du groupe spécifié.

              Méthodes de vérification et de liste des autorisations

              bool CheckUserRight(int UserId, int RightId)
              Renvoie vrai si l'utilisateur spécifié a spécifié le Droit en raison du fait que l'utilisateur a l'attribution du Droit au niveau de l'utilisateur, ou hérite de l'attribution du Droit au niveau de l'organisation ou du groupe.

              int[] GetUserDataMartPermissions(int UserId, bool IncludeInherited)
              Obtient la liste des DataMarts auxquels l'utilisateur spécifié a accès en vertu du fait que l'utilisateur dispose d'une autorisation au niveau de l'utilisateur ou (si IncludeInherited est vrai) hérite d'une autorisation au niveau de l'organisation ou du groupe sur le DataMart.

              int[] GetUserRights(int UserId, bool IncludeInherited)
              Obtient la liste des droits accordés à l'utilisateur spécifié en vertu de l'utilisateur ayant une attribution au niveau utilisateur du droit ou (si IncludeInherited est vrai) héritant de l'attribution au niveau de l'organisation ou du groupe du droit.

              int[] GetUserQueryTypePermissions(int UserId, bool IncludeInherited)
              Obtient la liste des QueryTypes auxquels l'utilisateur spécifié a accès en vertu du fait que l'utilisateur dispose d'une autorisation au niveau de l'utilisateur ou (si IncludeInherited est true) hérite d'une autorisation au niveau de l'organisation ou du groupe sur le QueryType.

              int[] GetOrganizationDataMartPermissions(int OrganizationId)
              Obtient la liste des DataMarts pour lesquels l'organisation spécifiée a l'autorisation.

              int[] GetOrganizationRights(int OrganizationId)
              Obtient la liste des droits attribués à l'organisation spécifiée.

              int[] GetOrganizationQueryTypePermissions(int OrganizationId)
              Obtient la liste des QueryTypes pour lesquels l'organisation spécifiée a l'autorisation.

              int[] GetGroupDataMartPermissions(int GroupId)
              Obtient la liste des DataMarts pour lesquels le groupe spécifié a l'autorisation.

              int[] GetGroupRights(int GroupId)
              Obtient la liste des droits affectés au groupe spécifié.

              int[] GetGroupQueryTypePermissions(int GroupId)
              Obtient la liste des QueryTypes pour lesquels le groupe spécifié a l'autorisation.

              Conception du gestionnaire de sécurité client Data Mart

              Le Data Mart Client Security Manager mettra en œuvre des fonctions de contrôle d'accès pour le Data Mart Client.

              Pour DRN 1.5, le client Data Mart ne nécessite pas d'accès direct aux fonctions de contrôle d'accès. Le contrôle d'accès sera mis en œuvre dans le portail et dans l'API DRN Hub.

              Administration pour les utilisateurs, les organisations et les groupes

              Des fonctions d'administration des utilisateurs ont été ajoutées à DRN dans une phase précédente. Dans DRN 1.5, l'administration des utilisateurs est étendue pour inclure la relation utilisateur/organisation et ajoute des fonctions administratives pour les organisations et les groupes.

              De nouvelles fonctions administratives seront ajoutées au menu "Administration" de la barre de navigation principale, comme suit :

              Figure 7. Menu d'administration

              L'accès aux fonctions d'administration pour les groupes, les organisations, les utilisateurs et les droits est régi par les droits. Seuls les utilisateurs disposant des autorisations suffisantes sont autorisés à accéder à ces fonctions.

              Gestion des utilisateurs

              Le formulaire d'administration des utilisateurs existant sera modifié pour inclure un contrôle de sélection de l'organisation comme suit :

              Figure 8. Formulaire de gestion des utilisateurs

              Les nouveaux contrôles du formulaire d'administration des utilisateurs sont les suivants :

              Tableau 6. Contrôles du formulaire d'administration des utilisateurs

              Contrôler La description
              Sélection de l'organisation Présente une liste d'organisations à partir du tableau Organisation.
              Bouton des droits Présente le formulaire de sélection des droits tel que décrit dans la section 0 à la page 24.
              Sélection de rôle Présente une liste de rôles à partir du tableau RoleTypes.
              Saisie de l'e-mail Présente une zone de texte pour ajouter/modifier l'adresse e-mail.
              Bouton Supprimer Présente à l'utilisateur admin une option pour supprimer l'utilisateur sélectionné.

              Les règles de validation suivantes seront mises en œuvre :

              • Une organisation valide doit être sélectionnée. Tous les utilisateurs doivent être associés à une organisation.
              • Un e-mail valide doit être saisi.
              • Un rôle valide doit être sélectionné. Tous les utilisateurs doivent être associés à un rôle.

              Pour faciliter l'identification des utilisateurs associés à une organisation, les modifications suivantes seront apportées à la page Liste des utilisateurs :

              Figure 9. Formulaire de liste d'utilisateurs

              • Une colonne Organisation sera ajoutée à la liste des utilisateurs, affichant le nom de l'organisation à laquelle l'utilisateur est associé.
              • Un filtre Organisations sera ajouté. Ce sera une liste déroulante d'organisations. La sélection d'une organisation filtrera la liste des utilisateurs à ceux associés à l'organisation sélectionnée. Un élément de liste spécial intitulé « Tous » sera disponible en tant que premier élément de la liste de sélection et affichera les utilisateurs de toutes les organisations.

              Administration de l'organisation

              L'administration de l'organisation comprendra des fonctions pour créer, modifier et supprimer des organisations et se composera de deux formulaires : le formulaire Liste des organisations et le formulaire Détails de l'organisation.

              Le formulaire Liste d'organisations présentera une liste d'organisations, comme suit :

              Figure 10. Formulaire de liste d'organisations

              Les noms des organisations seront présentés sous forme de liens hypertexte. En cliquant sur le nom de l'organisation, l'écran Détails de l'organisation s'affichera pour l'organisation sélectionnée.

              Le Nouvelle organisation Le bouton affichera l'écran Détails de l'organisation pour créer une nouvelle organisation.

              Le formulaire Détails de l'organisation présente les attributs de l'organisation, comme suit :

              Figure 11. Formulaire de détail de l'organisation

              Les champs du formulaire Détails de l'organisation sont les suivants :

              Tableau 7. Champs du formulaire de détail de l'organisation

              Domaine Table/colonne de base de données
              Nom de l'organisation Organization.OrganizationName

              Les contrôles du formulaire Détails de l'organisation sont les suivants :

              Tableau 8. Contrôles du formulaire de détail de l'organisation

              Si l'utilisateur clique sur OK, le système marque l'organisation comme supprimée en définissant l'indicateur Organization.isDeleted = 1.

              Les contrôles de validation sont les suivants :

              Pour les nouvelles organisations, insère un nouvel enregistrement dans la table Organisations.

              Pour les enregistrements d'organisation existants, met à jour l'enregistrement existant dans la table Organisations.

              Administration du groupe

              L'administration des groupes comprendra des fonctions pour créer, modifier et supprimer des groupes et se composera de deux formulaires : le formulaire Liste des groupes et le formulaire Détails du groupe.

              Le formulaire Liste des groupes présentera une liste de groupes, comme suit :

              Figure 12. Formulaire de liste de groupes

              Cette capture d'écran illustre l'interface utilisateur utilisée pour administrer les groupes.

              Les noms des groupes seront présentés sous forme d'hyperliens. Cliquer sur le nom du groupe fera apparaître l'écran Détails du groupe pour le groupe sélectionné.
              Le Nouveau groupe Le bouton affichera l'écran Détails du groupe pour créer un nouveau groupe.
              Le formulaire Détails du groupe présente les détails du groupe, comme suit :

              Figure 13. Formulaire de détail du groupe

              Cette capture d'écran illustre l'interface utilisateur utilisée pour ajouter des organisations à un groupe.

              Les champs du formulaire Détails du groupe sont les suivants :

              Tableau 9. Champs du formulaire de détail du groupe

              Affiche initialement les organisations. OrganizationName pour tous les enregistrements trouvés dans la table Organizations (où isDeleted=0) mais introuvable dans la table OrganizationsGroups pour le groupe en cours de modification.

              Cette liste contient toutes les organisations (où isDeleted=0) lorsqu'un nouveau groupe est ajouté.

              Affiche initialement les organisations. OrganizationName pour tous les enregistrements trouvés dans la table OrganizationsGroups pour le groupe en cours de modification, où Organizations.isDeleted=0.

              Cette liste est initialement vide lorsqu'un nouveau groupe est ajouté.

              Les commandes du formulaire Détails du groupe sont les suivantes :

              Tableau 10. Contrôles du formulaire de détail du groupe

              Déplace l'enregistrement sélectionné dans la liste « Pas dans le groupe » vers la liste des membres « Dans le groupe ». En d'autres termes, ajoute une organisation à ce groupe.

              Déplace l'enregistrement sélectionné dans la liste des membres « Dans le groupe » vers la liste « Pas dans le groupe ». En d'autres termes, supprime une organisation de ce groupe.

              Présente une boîte de dialogue de confirmation, comme dans :

              Si l'utilisateur clique sur OK, le système marque le groupe comme supprimé en définissant l'indicateur Group.isDeleted = 1.

              Effectue des contrôles de validation et enregistre les entrées effectuées sur le formulaire.

              Les contrôles de validation sont les suivants :

              Pour les nouveaux groupes, insère un nouvel enregistrement dans la table Groupes.

              Pour les enregistrements de groupe existants, met à jour l'enregistrement existant dans la table Groupes.

              Met également à jour la table OrganizationsGroups en ajoutant de nouvelles associations et en supprimant celles qui ne devraient plus exister.

              Retourne à l'écran Liste des groupes.

              Présente le formulaire de sélection des droits.

              Administration du contrôle d'accès

              Tous les contrôles d'accès (y compris les paramètres de contrôle d'accès pour le client Data Mart) sont administrés via le portail. Les fonctions d'administration du contrôle d'accès sont exposées à divers endroits, y compris les fonctions d'administration pour les entités de contrôle d'accès (utilisateurs, organisations et groupes) et les cibles (entrepôts de données, droits et types de requêtes).

              Administration des autorisations du magasin de données

              Les autorisations du magasin de données concernent les entités (utilisateurs, organisations et groupes) qui ont accès à un magasin de données (pour soumettre des requêtes). Les autorisations Data Mart sont gérées via l'interface utilisateur d'administration Data Mart.

              Administration des droits—Administrateur des droits

              L'administration des droits s'effectue via une nouvelle fonction d'administration des droits, accessible via l'élément de menu Administration > Droits dans la barre de navigation principale.

              Cliquer sur l'élément de menu Droits présente le formulaire de liste de droits comme suit :

              Figure 14. Formulaire de liste de droits

              Cette capture d'écran présente la liste complète des droits système.

              Chaque Code de Droit est présenté sur un lien hypertexte. En cliquant sur le lien hypertexte, vous accédez au formulaire Détails des droits, comme suit :

              Figure 15. Formulaire de détail des droits

              Cette capture d'écran illustre l'interface utilisateur utilisée pour donner aux entités individuelles un droit particulier (le droit de se connecter au système).

              Les champs du formulaire Détails des droits sont les suivants :

              Tableau 11. Champs du formulaire de détail des droits

              Affiche initialement la liste de Groups.GroupName pour les groupes trouvés dans GroupsRights pour le droit actuel, où Groups.isDeleted=0.

              Affiche initialement la liste de Organizations.OrganizationName pour les organisations trouvées dans OrganizationsRights pour le droit actuel, où Organizations.isDeleted=0.

              Affiche la liste de Users.UserName pour les utilisateurs dont le rôle a reçu le droit actuel, où Users.isDeleted=0.

              Les contrôles du formulaire Détails des droits sont les suivants :

              Tableau 12. Contrôles du formulaire de détail des droits

              Ouvre la fenêtre contextuelle de sélection de groupe et ajoute les sélections de l'utilisateur à la liste des groupes.

              Supprime la ligne sélectionnée dans la liste Groupes.

              Organisations – bouton Ajouter

              Ouvre la fenêtre contextuelle Sélection de l'organisation et ajoute les sélections de l'utilisateur à la liste des organisations.

              Organisations – bouton Supprimer

              Supprime la ligne sélectionnée dans la liste Organisations.

              Enregistre toutes les modifications apportées au formulaire Détails des droits et revient à la liste des droits.

              Met à jour la table GroupsRights et OrganizationsRights en ajoutant et en supprimant des enregistrements de chacun selon les besoins, en fonction des modifications apportées.

              Retourne au formulaire Liste des droits sans enregistrer les modifications.

              Administration des droits—Sélection des droits

              En plus de fournir un mode d'administration des droits « centré sur les droits », le système permet également d'administrer les droits dans le contexte de l'administration d'entités individuelles, c'est-à-dire groupes, organisations et utilisateurs. En d'autres termes, lors de l'administration d'un groupe, d'une organisation ou d'un utilisateur, cliquer sur le bouton Droits dans le formulaire détaillé fait apparaître la boîte de dialogue Sélection des droits, comme illustré ci-dessous :

              Noter: La section « Droits » a été remaniée pour fournir des droits et un accès basés sur les rôles au niveau de l'utilisateur, comme demandé par le client. Veuillez vous reporter à l'annexe « A » pour la proposition de droits approuvée qui détaille les changements mis en œuvre.

              Figure 16. Formulaire de sélection des droits (modifications approuvées)

              Cette capture d'écran illustre l'interface utilisateur utilisée pour donner des droits à un utilisateur individuel.

              Les contrôles du formulaire de sélection des droits sont les suivants :

              Tableau 13. Contrôles du formulaire de sélection des droits

              Fermez le formulaire ouvert en popup.

              Administration des autorisations de type de requête

              Les autorisations de type de requête concernent les entités (utilisateurs, organisations et groupes) qui ont accès à chaque type de requête.

              L'administration des autorisations de type de requête s'effectue via une nouvelle fonction d'administration des autorisations de type de requête, accessible via l'élément de menu Administration > Autorisations de requête dans la barre de navigation principale.

              Cliquer sur l'élément de menu Autorisations de type de requête présente le formulaire de liste des autorisations de type de requête comme suit :

              Figure 17. Formulaire de liste d'autorisations de type de requête

              Cette capture d'écran illustre l'interface utilisateur utilisée pour définir les contrôles d'accès par type de requête.

              Chaque type de requête est présenté sous forme de lien hypertexte. En cliquant sur le lien hypertexte, vous accédez au formulaire Détails des autorisations de type de requête, comme suit :

              Figure 18. Formulaire détaillé des autorisations de type de requête

              Cette capture d'écran illustre l'interface utilisateur utilisée pour permettre l'accès à des entités individuelles pour un type de requête particulier (distributions en pharmacie par classe de médicaments).

              Les champs du formulaire Détails des autorisations de type de requête sont les suivants :

              Tableau 14. Champs du formulaire de détails sur les autorisations des types de requête

              Affiche initialement la liste de Groups.GroupName pour les groupes trouvés dans GroupsQueryTypes pour le QueryType actuel, où Groups.isDeleted=0.

              Affiche initialement la liste de Organizations.OrganizationName pour les organisations trouvées dans OrganizationsQueryTypes pour le QueryType actuel, où Organizations.isDeleted=0.

              Affiche initialement la liste de Users.UserName pour les utilisateurs trouvés dans la table UsersQueryTypes pour le QueryType actuel, où Users.isDeleted=0.

              Les contrôles du formulaire Détails des autorisations des types de requêtes sont les suivants :

              Tableau 15. Contrôles du formulaire d'autorisations des types de requête

              Ouvre la fenêtre contextuelle de sélection de groupe et ajoute les sélections de l'utilisateur à la liste des groupes.

              Supprime la ligne sélectionnée dans la liste Groupes.

              Organisations – bouton Ajouter

              Ouvre la fenêtre contextuelle Sélection de l'organisation et ajoute les sélections de l'utilisateur à la liste des organisations.

              Organisations – bouton Supprimer

              Supprime la ligne sélectionnée dans la liste Organisations.

              Ouvre la fenêtre contextuelle Sélection de l'utilisateur et ajoute les sélections de l'utilisateur à la liste des utilisateurs.

              Supprime la ligne sélectionnée dans la liste Utilisateurs.

              Enregistre toutes les modifications apportées au formulaire Détails des autorisations des types de requête et revient à la liste des autorisations des types de requête.

              Met à jour les tables GroupsQueryTypes, OrganizationsQueryTypes et UsersQueryTypes, en ajoutant et en supprimant des enregistrements de chacune selon les besoins, en fonction des modifications apportées.

              Retourne au formulaire Liste des autorisations des types de requête sans enregistrer les modifications.

              Modifications du contrôle d'accès dans l'entrée de requête

              Le formulaire d'entrée de requête dans l'application du portail DRN sera modifié pour inclure le contrôle d'accès. Les changements suivants seront mis en œuvre :

              • Filtrage des types de requêtes—la liste de sélection Type de requête sera filtrée pour afficher uniquement les types de requête pour lesquels l'utilisateur actuel a l'autorisation. Si l'utilisateur n'a pas les autorisations pour au moins un type de requête, le message suivant s'affichera :
                Vous n'avez pas été autorisé à soumettre l'un des types de requêtes disponibles. Veuillez contacter l'administrateur système pour obtenir de l'aide.
              • Filtrage du magasin de données—la liste de sélection Data Mart sera filtrée pour s'afficher sur les data marts auxquels l'utilisateur actuel a l'autorisation. Si l'utilisateur n'a pas d'autorisations sur au moins un data mart, le message suivant s'affichera :
                Vous n'avez pas été autorisé à soumettre des requêtes à l'un des magasins de données disponibles. Veuillez contacter l'administrateur système pour obtenir de l'aide.
              • Filtrage du magasin de donnéesbasé sur les types de requêtes pris en charge—la liste de sélection du magasin de données sera filtrée pour afficher uniquement les magasins de données qui prennent en charge le type de requête sélectionné dans la liste de sélection des types de requête.

              3.2 Gestionnaire de flux de travail/Fonctions de notification

              Aperçu de l'exigence

              Une fonction de notification de base a été ajoutée dans la phase précédente, pour alerter les administrateurs de data mart lorsque des requêtes sont saisies sur un data mart. Cette fonctionnalité sera étendue pour inclure un cadre de notification qui centralisera la gestion des notifications et fournira à l'utilisateur final un contrôle sur la livraison des notifications. Une fonction de notification d'état de requête sera ajoutée pour alerter les auteurs de requêtes lorsque les résultats seront disponibles.

              Notions de notification

              Événement— se réfère à une occurrence d'une transaction particulière dans le système, par exemple la soumission d'une nouvelle requête.

              Notification—fait référence à un message décrivant l'occurrence d'un événement, par exemple un message électronique concernant la soumission d'une nouvelle requête. Plusieurs notifications peuvent être générées pour un seul événement.

              Conception du gestionnaire de flux de travail

              Le gestionnaire de flux de travail met en œuvre des fonctions pour gérer le flux de travail, notamment le routage des demandes, les alertes et les notifications, la gestion des approbations et le suivi. Les fonctions d'alerte et de notification sont exposées via une interface d'événement et une interface de notification.

              Figure 19. Conception du gestionnaire de workflow

              L'interface d'événement expose des fonctions pour la génération d'événements et est utilisée par d'autres composants du système tels que le gestionnaire de requêtes et le gestionnaire de résultats pour générer des événements lorsqu'ils se produisent.

              L'interface de notification expose des fonctions pour la notification d'événements, y compris des fonctions pour définir des options de notification et récupérer des notifications, utilisées par d'autres composants du système tels que l'API DRN Hub et l'interface utilisateur Investigator.

              Génération d'événements

              Les événements sont générés par divers composants et sous-systèmes dans DRN, généralement au moment où l'événement se produit - par exemple, lorsqu'une nouvelle requête est saisie, un événement Nouvelle requête est généré par le gestionnaire de requêtes.

              Lorsqu'un événement est généré, le système enregistre l'événement et les notifications dans la base de données. Les entrées de notification sont enregistrées pour traitement uniquement lorsque l'utilisateur a opté pour de tels événements sur le portail DRN (page « Paramètres > Options de notification »). La génération et la livraison des notifications ont lieu ultérieurement, dans le cadre du traitement en arrière-plan

              Modèle de données d'événement

              Le diagramme ci-dessous illustre le modèle de données pour les données d'événement.

              Figure 20. Modèle de données d'événement

              Le Événements table est la table maître/parente pour l'enregistrement des données d'événement et contient les attributs suivants :