PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → [WD9] partage réseau - cache disque
[WD9] partage réseau - cache disque
Débuté par michael, 13 jan. 2006 09:40 - 5 réponses
Posté le 13 janvier 2006 - 09:40
Bonjour,

j'ai un processus qui envoie des données 2 fois par seconde sur une base
hébérgée sur un dossier partagé d'un Windows XP. J'utilise le moteur
HyperFile. J'effectue mes envois toujours à l'aide d'une transaction.
Pendant que mon processus tourne, je simule une panne réseau en débranchant
le cable. Pendant quelque secondes (après déconnexion du cable) le moteur de
windev continue à écrire les données sans aucune erreur. J'utilise une table
avec un identifiant automatique. A chaque fois que windev me confirme
l'ajout des données je stocke l'identifiant automatique généré dans un autre
processus pour effectuer certaines taches.
Lorsque je detecte la panne réseau je ferme ma base. J'ai ensuite un timer
qui essaie de réinitialiser la base. Une fois celle-ci réinitialisée, windev
recommence à écrire correctement les données. Seulement le pb, c que tous
les id automatiques générés pendant les qq secondes avant la détéction de
panne, sont à nouveau générés car ils n'ont en fait jamais été écrit dans la
base.
Ca c'est dans le meilleur cas.

Dans le pire cas, après reconnexion de la base, windev n'est plus capable de
stocker dans ma table. Il me renvoie des erreurs de doublons.

Mes questions sont :
- est-ce que le moteur de windev gère un cache réseau ? si oui comment le
désactiver ?
si non, c'est donc windows qui utilise un cache ? si oui comment le
désactiver ?
- est-ce que le méthode que j'utilise est viable ? si non, comment faire ?

merci
Mike
Posté le 13 janvier 2006 - 11:33
Salut,

Je ne suis pas un expert dans ce domaine.

Mais j'ai du faire l'analyse d'un prog pour sécuriser les échanges de données et la confirmation du bon déroulement des ordres passés et j'ai vu quelque chose sur

LES TRANSACTIONS

Tu demarres ta transaction et tant que ton ordre n'est pas passé (pas de confirmation) tu n'effectue pas ta mise à jour de ta base !

Un truc du genre !

Cela est peut-être un début de recherche ! sauf si tu connais déjà.

Salutations.
Johan Beugnies
Posté le 13 janvier 2006 - 12:12
HF gère un cache paramétrable par HSecurité(Niveau)
Niveau pouvant être à 0 (par défaut) et dans ce cas tout passe par buffer disque.
Niveau =1 buffer disque réduit au minimum mais vitesse d'écriture moins bonne
Niveau =2 écriture immédiate dans le média physique, avec comme conséquence une dégradation des performances.

Par contre, sur une config de 3 postes en réseau, avec le niveau 2 j'avais des résultats corrects et une grande fiabilité sous
W98 SE.
Par contre le passage sous XP m'a posé des problèmes car le cache système de XP venbait interférer et j'ai du remettre HSecurité
= 0.
Donc il faut jouer sur les deux paramètres. Mais faut trouver le compromis entre fiabilité et vitesse. La solution des
transactions pouvant être ajoutée au réglage des buffers disques. Mais après c'est tjrs un problème de compromis vitesse
sécurité.

--
Pascal
N0.pascal.SPAM@efpe.biz
Ne garder que le prénom pour me joindre
Posté le 14 janvier 2006 - 22:46
Peut-être l'instruction HforceEcriture voir l'aide

cordialment
Posté le 16 janvier 2006 - 17:45
merci pour l'info

"Johan Beugnies" <jotech@jbmatic.be> wrote in message
news:43c7719c@news.pcsoft.fr...



Salut,

Je ne suis pas un expert dans ce domaine.

Mais j'ai du faire l'analyse d'un prog pour sécuriser les échanges de
données et la confirmation du bon déroulement des ordres passés et j'ai vu
quelque chose sur

LES TRANSACTIONS

Tu demarres ta transaction et tant que ton ordre n'est pas passé (pas de
confirmation) tu n'effectue pas ta mise à jour de ta base !

Un truc du genre !

Cela est peut-être un début de recherche ! sauf si tu connais déjà.

Salutations.
Johan Beugnies
Posté le 16 janvier 2006 - 17:45
merci pour l'info

"Pascal F" <N0.pascal.SPAM@efpe.biz> wrote in message
news:43c777f6@news.pcsoft.fr...

HF gère un cache paramétrable par HSecurité(Niveau)
Niveau pouvant être à 0 (par défaut) et dans ce cas tout passe par buffer
disque.
Niveau =1 buffer disque réduit au minimum mais vitesse d'écriture moins
bonne
Niveau =2 écriture immédiate dans le média physique, avec comme
conséquence une dégradation des performances.

Par contre, sur une config de 3 postes en réseau, avec le niveau 2 j'avais
des résultats corrects et une grande fiabilité sous
W98 SE.
Par contre le passage sous XP m'a posé des problèmes car le cache système
de XP venbait interférer et j'ai du remettre HSecurité
= 0.
Donc il faut jouer sur les deux paramètres. Mais faut trouver le compromis
entre fiabilité et vitesse. La solution des
transactions pouvant être ajoutée au réglage des buffers disques. Mais
après c'est tjrs un problème de compromis vitesse
sécurité.

--
Pascal
N0.pascal.SPAM@efpe.biz
Ne garder que le prénom pour me joindre