-
Verschiedene
Verfahren zum Ändern
von Daten in einem Arbeitsablaufprozess existieren in moderner Datenverarbeitung.
Zum Beispiel kann ein Einkaufsbearbeiter, welcher für ein Unternehmen
arbeitet, Anfragen von Angestellten erhalten, welche verschiedene
Artikel benötigen.
Dieser Einkaufsbearbeiter bestimmt dann die geeigneten Verkäufer, von
welchen Angebote einzuholen sind, erhält Bestätigungen für Einkäufe, verhandelt Lieferungsdaten und
erteilt schließlich
Aufträge,
erhält
die Aufträge und
liefert die Einkäufe
aus. Anschließend
an das Erteilen der Aufträge
werden verschiedene Computerdatensätze aktualisiert, welche die
Details der Aufträge
widerspiegeln, und die Angestellten werden optional darüber unterrichtet,
dass der Auftrag erteilt worden ist.
-
In
Arbeitsablaufprozessen benutzte Datensätze werden in vielen Formen
gespeichert. Zum Beispiel können
Datensätze
in Arbeitsblättern,
Datenbanken, verknüpften
Listen oder anderen proprietären
Datenstrukturen gespeichert sein, welche die Erfordernisse eines
Systemdesigners erfüllen. Ähnlich dem
Beispiel, welches oben diskutiert ist, bringen es Arbeitsablaufprozesse
typischerweise mit sich, dass Datensätze durch eine oder mehrere
Personen an einer Stelle innerhalb eines Unternehmens erzeugt werden,
wobei einer oder mehrere dieser Datensätze durch eine oder mehrere
Personen an einer zweiten Stelle innerhalb eines Unternehmens editiert
oder aktualisiert werden. In einigen Fällen können Mengen von allgemein zugänglichen
Datensätzen
von zwei oder mehreren Benutzern geöffnet werden, wobei eine oder
mehrere Editierungen durch jeden dieser Benutzer vorgenommen wird.
Um diese Datensätze akkurat
zu halten, werden Datenintegritätsüberprüfungen und
eine Konfliktauflösung
zwischen den Editierungen verschiedener Benutzer durchgeführt.
-
Im
Allgemeinen betrifft die Erfindung in einem Aspekt ein Verfahren
zum Verwalten von Daten. Das Verfahren umfasst ein Identifizieren
für einen ersten
Benutzer mindestens eines Datensatzes einer Mehrzahl von Datensätzen, Erzeugen
einer Benutzerschnittstelle, welche ein Datenfeld, welches mit dem
mindestens einen Datensatz verknüpft
ist, in einem Gitterformat anzeigt, Erhalten einer ersten gewünschten
Modifikation des Datenfelds von einem zweiten Benutzer, nachfolgend
des Erzeugens der Benutzerschnittstelle, Erhalten einer zweiten
gewünschten
Modifikation des Datenfelds von dem ersten Benutzer, Auslösen eines
Konfliktauflösungsprozesses,
wobei der Konfliktauflösungsprozess
ein Auswählen
einer gewählten
Modifikation von der ersten gewünschten
Modifikation und der zweiten gewünschten
Modifikation, und ein Speichern der gewählten Modifikation in dem Datenfeld
umfasst.
-
In
einem Aspekt betrifft die Erfindung im Allgemeinen ein Arbeitsablaufprozesssystem.
Das System umfasst eine grafische Benutzerschnittstelle, welche
konfiguriert ist, ein Datenfeld, welches mit mindestens einem Datensatz
verknüpft
ist, in einem Gitterformat anzuzeigen, wobei der mindestens eine Datensatz
für einen
ersten Benutzer von einer Mehrzahl an Datensätzen identifiziert ist, einen
Prozessor, und ein Speichergerät,
welches konfiguriert ist, die gewählte Modifikation in dem Datenfeld
zu speichern. Der Prozessor ist konfiguriert, Anweisungen auszuführen, um:
Nachfolgend des Anzeigens des Datenfelds von einem zweiten Benutzer
eine erste gewünschte
Modifikation des Datenfelds zu erhalten, von dem ersten Benutzer
eine zweite gewünschte Modifikation
des Datenfelds zu erhalten, und einen Konfliktauflösungsprozess
auszulösen,
wobei der Konfliktauflösungsprozess
ein Auswählen
einer gewählten
Modifikation von der ersten gewünschten Modifikation
und der zweiten gewünschten
Modifikation umfasst.
-
In
einem Aspekt betrifft die Erfindung im Allgemeinen ein maschinenlesbares
Medium. Das maschinenlesbare Medium umfasst ausführbare Anweisungen, welche
darin gespeichert sind, zum: Identifizieren für einen ersten Benutzer zumindest
eines Datensatzes einer Mehrzahl von Datensätzen, Erzeugen einer Benutzerschnittstelle,
welche ein Datenfeld, welches mit dem mindestens einen Datensatz verknüpft ist,
in einem Gitterformat anzeigt, Erhalten einer ersten gewünschten
Modifikation des Datenfelds von einem zweiten Benutzer, nachfolgend
des Erzeugens der Benutzerschnittstelle, Erhalten einer zweiten
gewünschten
Modifikation des Datenfelds von dem ersten Benutzer, Auslösen eines
Konfliktauflösungsprozesses,
wobei der Konfliktauflösungsprozess
ein Auswählen
einer ausgewählten
Modifikation von der ersten gewünschten
Modifikation und der zweiten gewünschten
Modifikation umfasst und ein Speichern der gewählten Modifikation in dem Datenfeld.
-
Weitere
Aspekte der Erfindung werden von der folgenden Beschreibung und
den angehängten Ansprüchen offensichtlich
werden. In den Zeichnungen zeigt
-
1 ein
Blockdiagramm eines Arbeitsablaufprozesssystems gemäß einer
oder mehreren Ausführungsformen
der Erfindung;
-
2 ein
Gitterlayout gemäß einer
oder mehreren Ausführungsformen
der Erfindung;
-
3 Beispielanzeigerepräsentationen
für mehrere
Benutzer gemäß einer
oder mehreren Ausführungsformen
der Erfindung; und
-
4 ein
Flussdiagramm gemäß einer
oder mehreren Ausführungsformen
der Erfindung.
-
Beispielhafte
Ausführungsformen
der Erfindung werden mit Bezug auf die begleitenden Zeichnungen
beschrieben werden. Ähnliche
Elemente in den Zeichnungen sind mit denselben Bezugsnummern gezeigt.
-
In
einer Ausführungsform
der Erfindung sind zahlreiche spezifische Details ausgeführt, um
ein tieferes Verständnis
der Erfindung bereitzustellen. Es wird jedoch offenkundig für jemanden
mit gewöhnlicher
Begabung in der Technik sein, dass die Erfindung ohne diese spezifischen
Details praktiziert werden kann. In anderen Fällen sind wohlbekannte Merkmale
nicht im Detail beschrieben worden, um zu vermeiden, dass diese
Offenbarung übermäßig kompliziert
wird.
-
In
diese Beschreibung ist beabsichtigt, das der Begriff "gekoppelt" ("coupled") Geräte beschreibt, welche
miteinander direkt oder indirekt interagieren. Zum Beispiel sind
ein erstes und ein zweites Gerät, welche
miteinander durch eine Übertragungsleitung zwischen
den zwei Geräten
interagieren, direkt gekoppelt. Weiter sind ein erstes und ein zweites
Gerät, welche
dazwischen liegende Geräte
zwischen ihnen angeordnet haben und miteinander durch diese dazwischen
liegenden Geräte
interagieren, indirekt gekoppelt. In beiden Situationen werden das
erste und zweite Gerät
als gekoppelt betrachtet.
-
Im
Allgemeinen betreffen Ausführungsformen
der Erfindung ein Verfahren und eine Vorrichtung zum Verwalten von
Datensätzen
in einem Arbeitsablaufprozess. Besonders umfasst ein Verfahren und
eine Vorrichtung zum Verwalten von Datensätzen in einem Arbeitsablaufprozess
ein Identifizieren einer Untermenge von Datensätzen, welche einem ersten Benutzer
unter Benutzung einer ersten Verarbeitungsstation zu präsentieren
sind, und Anzeigen der Untermenge an Datensätzen in einem Gitterformat
von Zeilen und Spalten. Zu einer gewissen Zeit vor, während, oder
nach der Modifikation des Datenfelds, aber vor dem Speichern der
Modifikation, welche durch den ersten Benutzer vorgenommen wurde,
wird dasselbe Datenfeld in einer unterschiedlichen Weise durch einen
zweiten Benutzer an einer zweiten Verarbeitungsstation modifiziert.
Ein Datenintegritätstest
wird vor einem Speicherprozess an einer oder mehreren der vorgeschlagenen
Modifikationen durchgeführt,
um sicherzustellen, dass die eine oder die mehreren vorgeschlagenen
Modifikationen irgendeinem Datenintegritätserfordernis, welches mit dem
Datenfeld verknüpft
sein kann, entsprechen. Ein Kon fliktauflösungsprozess wird auch vor
einem Speicherprozess durchgeführt,
um zu bestimmen, welche der zwei Modifikationen durch den zweiten
Benutzer ausgewählt
wird. Die gewählte
Modifikation wird dann gespeichert.
-
1 zeigt
ein Blockdiagramm eines Arbeitsablaufprozessierungssystems 102 gemäß der Erfindung.
Das Arbeitsablaufprozessierungssystem 102 umfasst Prozessierungsstationen 104, 106, 108 und 110 zum
Operieren an Datensätzen
innerhalb eines Arbeitsablaufprozesses. Speichergerät 112 ist hauptsächlich als
ein Datensatzspeichergerät
bereitgestellt und kann daher eine Datenbank 130 umfassen
(oder eine andere Datensatz-Speicherfunktionalität), kann aber alternativ auch
eine Funktionalität umfassen ähnlich zu
einer oder mehreren von Prozessierungsstationen 104, 106, 108 und 110,
wenn gewünscht.
Obwohl das Speichergerät 112 als
ein einzelnes Gerät
gezeigt ist, können
weiterhin Datensätze
innerhalb des Arbeitsablaufprozessierungssystems 102 über viele
Speichergeräte
(nicht gezeigt) innerhalb des Arbeitsablaufprozessierungssystems 102 verteilt
sein.
-
Die
Prozessierungsstationen 104, 106, 108 und 110 und
das Speichergerät 112 sind
miteinander gekoppelt und kommunizieren miteinander über Übertragungsleitungen 114.
Personen mit gewöhnlicher
Begabung in der Technik, welche den Gewinn dieser Offenbarung haben,
wird leicht bewusst sein, dass es dazwischen liegende Geräte geben
kann, welche zwischen irgend zwei oder mehreren der Prozessierungsstationen 104, 106, 108 und 110 und dem
Speichergerät 112 aufgestellt
sind. Diesen begabten Personen wird ebenso bewusst sein, dass die dazwischen
liegenden Geräte
Datenübertragungsaufgaben
durchführen
können,
welche nicht das Ziel dieser Offenbarung sind. Die dazwischen liegenden Geräte sind
daher nicht gezeigt oder hierin beschrieben, um die Komplexität dieser
Offenbarung zu minimieren.
-
In
einer oder mehreren Ausführungsformen der
Erfindung werden eine oder mehrere Operationen innerhalb des Arbeitsablaufprozessierungssystems 102 durchgeführt unter
Benutzung von einem oder mehreren Computersystemen, welche mit einem
Netzwerk, wie etwa dem Internet, einem lokalen Bereichsnetzwerk,
einem Netzwerk eines weiten Bereichs, einer Kombination von verschiedenen
Netzwerken, oder anderen Computerkommunikationsverfahren, welche
eine elektronische Kommunikation von Daten ermöglichen, gekoppelt sind. Solch
ein Netzwerk kann, neben anderen Dingen, dazu benutzt werden, eine
Kommunikation zwischen einer oder mehreren Prozessierungsstationen 104, 106, 108 und 110 und
dem Speichergerät 112 zu
erleichtern, was beim Editieren, Wiederdurchsehen, Bewegen und Speichern
von Daten innerhalb des Arbeitsablaufprozessierungssystems 102 umfasst
ist.
-
Prozessierungsstationen 104, 106, 108 und 110 umfassen
jeweils entsprechende Anzeigegeräte 114, 116, 118, 120,
auf welchen Information angezeigt werden kann, um zu erleichtern,
Arbeitsablaufprozessierungsaufgaben zu erreichen. Eine Prozessierungsstation
kann in funktionalen Fähigkeiten
und einer Rechenleistung variieren. In einer oder mehreren Ausführungsformen
der Erfindung ist eine Prozessierungsstation, wie etwa die Prozessierungsstationen 104 ein
dünner
Klient (thin client), welcher minimale lokale Fähigkeiten in funktionalen Bereichen, wie
etwa Speicher, Datenspeicher und Verarbeitungsleistungsfähigkeit,
hat. In einer oder mehreren Ausführungsformen
der Erfindung ist eine Prozessierungsstation, wie etwa die Prozessierungsstation 108,
mit einer zentralen Verarbeitungseinheit (CPU) 124, Speicher 126 und
anderen Geräten 122 ausgestattet,
wie etwa diesen, welche in einer traditionellen Computerumgebung
gefunden werden. Personen mit gewöhnlicher Begabung in der Technik,
welche den Gewinn dieser Offenbarung haben, werden leicht verstehen,
wie das Arbeitsablaufprozessierungssystem 102 zu einer
Vielfalt von Konfigurationen von Prozessierungsstationen ausgebildet
werden kann, wie etwa Prozessierungsstationen 104, 106, 108 und 110,
während
man innerhalb des Geltungsbereichs und des Zwecks der Erfindung
bleibt.
-
Speichergerät 112 kann
unabhängig
von anderen Prozessierungsstationen in dem System sein, wie etwa
Prozessierungsstationen 104, 106, 108 und 110 oder
kann stattdessen mit einer oder mehreren Teilen einer Prozessierungsstation
integriert sein und kann daher mindestens einen Teil der Funktionalität bereitstellen,
welche Funktionalität
im Allgemeinen durch eine Prozessierungsstation in Hinsicht auf
Editieren, Bewegen, Anzeigen, etc. von Daten innerhalb des Arbeitsablaufprozessierungssystems 102 bereitgestellt
ist.
-
Obwohl
Speichergerät 112 hier
als ein einzelnes Gerät
gezeigt ist, können,
wie vorher diskutiert, die Daten, welche innerhalb des Arbeitsablaufprozessierungssystems 102 prozessiert
werden, über
viele Geräte
verteilt sein, welche jeweils mit einer oder mehreren Prozessierungsstationen,
wie etwa Prozessierungsstation 110 gekoppelt sind. Um diese
Offenbarung zu vereinfachen, obwohl die Daten innerhalb des Speichergeräts 112 gespeichert werden
können
unter Benutzung irgendeines gewünschten
Formats und daran unter Benutzung irgendeiner gewünschten
Methode gearbeitet werden kann, werden Beispiele bereitgestellt,
wobei die Daten innerhalb des Speichergeräts 112 in einem Datendepot
gespeichert sind, wie etwa einer Datenbank 130, welche
für diesen
Zweck bereitgestellt ist.
-
Teile
der Funktionalität,
welche notwendig sind, die Erfindung auszuführen, können in einer oder mehreren
Prozessierungsstationen umfasst sein, wie etwa Prozessierungsstationen 104, 106, 108 und 110 oder
können
stattdessen durch ein verschiedenes Gerät (nicht gezeigt) bereitgestellt
sein, welches mit dem Arbeitsablaufprozessierungssystem 102 gekoppelt
ist, oder welches in das Speichergerät 112 integriert sein
kann (wie etwa innerhalb der Datenbank 130 oder innerhalb
einer Software, welche auf dem Speichergerät 112 läuft).
-
Wie
vorher diskutiert, betreffen Ausführungsformen der Erfindung
ein Verfahren und eine Vorrichtung zum Verwalten von einem oder
mehreren Datensätzen
in einem Arbeitsablaufprozess. Einer oder mehrere Datensätze werden
mindestens durch einen normalen Geschäftsprozess erhalten, wie etwa
einen Verkaufsprozess, Kundendienstanfrage, etc. Nachfolgend auf
ein Erhalten eines Datensatzes führt
eine Charakteristik, welche mit den Ursprungspunkt eines Datensatzes
verknüpft
ist, der Hersteller des Datensatzes, oder der Datensatz selbst dazu,
dass der Datensatz einem oder mehreren Benutzern des Arbeitsablaufprozessierungssystems 102 bereitgestellt
wird. Datensätze,
welche mehreren Benutzern zum Editieren (oder für andere Gründe) bereitgestellt werden, können durch
diese Benutzer in widersprechenden Weisen modifiziert werden. Bereitstellen
eines Datenintegritätsprozesses
und eines Konfliktauflösungs prozesses
stellt sicher, dass eine Hauptmenge von Datensätzen, wie sie etwa innerhalb
der Datenbank 130 vorhanden sein kann, voretablierten Datenintegritätsregeln
entspricht, wobei die gewählte
Modifikation in der Datenbank 130 gespeichert wird.
-
Als
ein Beispiel kann eine erste Untermenge von Datensätzen von
einer Hauptmenge an Datensätzen,
welche einem ersten Benutzer präsentiert wird,
auf einer Prozessierungsstation angezeigt werden, wie etwa Prozessierungsstation 106.
Eine zweite Untermenge von Datensätzen, welche mit der ersten
Untermenge überlappt
(z.B. umfasst die zweite Untermenge von Datensätzen mindestens einen Datensatz,
welcher auch in der ersten Untermenge von Datensätzen umfasst ist), wird einem
zweiten Benutzer präsentiert,
wobei beide Benutzer dasselbe Feld innerhalb mindestens eines Datensatzes,
welcher beiden Untermengen von Datensätzen gemeinsam ist, editieren.
-
2 zeigt
ein Gitterlayout gemäß einer oder
mehreren Ausführungsformen
der Erfindung. In einer oder mehreren Ausführungsformen der Erfindung
umfasst das Gitter 202 Datensätze, welche als Zeilen 204 angezeigt
sind und Felder innerhalb dieser Datensätze sind als Spalten 206 angezeigt.
In einer oder mehreren Ausführungsformen
der Erfindung umfasst das Gitter 202 Datensätze, welche
als Spalten (nicht gezeigt) angezeigt sind und Felder innerhalb
dieser Datensätze
sind als Zeilen (nicht gezeigt) angezeigt. Weiterhin werden Datensätze Benutzern von
Prozessierungsstationen, wie etwa Prozessierungsstationen 104, 106, 108 und 110 in 1,
als vollständig
editierbare Datensätze
präsentiert.
Um Konflikte aufzulösen,
welche davon herrühren,
dass von zwei oder mehreren Benutzern Modifikationen desselben Datensatzfeldes
angefordert werden, während
beide den Datensatz zum Editieren offen haben, wird ein Konfliktauflösungsprozesses
durchgeführt,
um zu bestimmen, welche Modifikation gewählt werden soll.
-
In
einer oder mehreren Ausführungsformen der
Erfindung werden Konflikte zwischen zwei Benutzern aufgelöst durch:
(1) Informieren der Benutzer, dass ein Konflikt existiert (z.B.
versucht ein erster Benutzer ein Prioritätsattribut der Daten von P3
nach P1 zu verändern
und ein zweiter Benutzer versucht, ein Prioritätsattribut der Daten von P3
nach P2 zu ändern);
(2) Hervorheben der bestimmten fraglichen Datenzelle; und (3) den
zweiten Benutzer bitten, auszuwählen,
welche der im Konflikt befindlichen Änderungen (das ist die versuchte Änderung
durch den ersten Benutzer und die versuchte Änderung durch den zweiten Benutzer)
zu akzeptieren ist. Jemand, welcher in der Technik begabt ist, wird
schätzen, dass
sich, wenn mehr als ein Konflikt existiert, der Prozess für jede Zelle
mit einem Konflikt wiederholt (wobei der Benutzer immer wieder auswählt, welche der
sich im Konflikt befindlichen Änderungen
zu akzeptieren ist). Weiterhin wird jemand mit Begabung in der Technik
schätzen,
dass, wenn ein dritter Benutzer zusätzliche Konflikte erzeugt,
während
der zweite Benutzer eine Konfliktauflösung durchführt, dem zweiten Benutzer ein
neuer Satz an Konflikten präsentiert
wird (der Konflikt zwischen der akzeptierten Änderung und der Änderung,
welche durch den dritten Benutzer versucht wird), während er
versucht, die vorher akzeptierten Änderungen zu speichern.
-
Gitter 102 ist
in einer Form einer grafischen Benutzerschnittstelle und umfasst
Anzeigeattribute, welche das Hinzufügen, Modifizieren und Speichern von
Datensätzen
und Datensatzänderung
in die Datenbank 130 in 1 erleichtern.
In einer oder mehreren Ausführungsformen
der Erfindung umfasst das Gitter 202 mehrere Datensätze (z.B.
Datensatz 208 und 210). Jeder Datensatz 208 und 210 kann
viele Felder haben, wobei eine Untermenge der Felder jedem gegebenen
Benutzer abhängig
von konfigurierbaren Einstellungen angezeigt wird.
-
Als
ein Beispiel umfasst Datensatz 208 eines oder mehrere Felder,
wie etwa Feld 212, welches optional ein eingebettetes Objekt,
wie etwa Objekt 214 umfasst. Solch ein Objekt 208 umfasst
eine visuelle Repräsentation
für den
Benutzer zu gegebenen Zeiten, aber umfasst auch eine Funktionalität, welche geeignet
für dieses
Objekt ist.
-
In
einer oder mehreren Ausführungsformen der
Erfindung umfasst das Objekt 214 eine Kalenderschnittstelle 260 mit
einer geeigneten Funktionalität, eine
Benutzereingabe zu erhalten, wie etwa die Auswahl eines Datums,
die Auswahl eines verschiedenen Monats, von welchem eines oder mehrere
Daten ausgewählt
werden können,
etc.. In einer oder mehreren Ausführungsformen der Erfindung
wird die Kalenderschnittstelle 260 optional durch einen
Benutzer ausgelöst,
welcher versucht, Daten in das verknüpfte Feld 218 einzugeben,
Erhalten von Benutzereingabe, wie etwa die Auswahl eines Datums,
die Auswahl eines verschiedenen Monats, von welchem ein oder mehrere
Daten gewählt
werden können,
etc.
-
In
einer oder mehreren Ausführungsformen der
Erfindung ist das Objekt 214 ein Menü mit vom Benutzer auswählbaren
Menüeinträgen, welche
gültige
Auswahlen für
ein bestimmtes verknüpftes
Feld sind. In einer oder mehreren Ausführungsformen der Erfindung
wird ein Herunterzieh-Menü-Objekt
dynamisch mit Elementen angefüllt,
welche vorher in demselben Feld für diesen oder andere Datensätze benutzt
worden sind, und ist optional konfiguriert, eine Texteingabe zu
erhalten (über
ein Dateneingangsfeld), um die verfügbaren Menüelementauswahlen zu aktualisieren.
-
In
einer oder mehreren Ausführungsformen der
Erfindung wird eine Kalenderschnittstelle 216 optional
dadurch ausgelöst,
dass ein Benutzer versucht, Daten in das verknüpfte Feld 218 einzugeben, mit
einer geeigneten Funktionalität,
um eine Benutzereingabe zu erhalten, wie etwa die Auswahl eines Datums,
die Auswahl eines verschiedenen Monats, von welchem eines oder mehrere
Daten gewählt
werden können,
etc.
-
3 zeigt
Beispielanzeigerepräsentationen für mehrere
Benutzer gemäß einer
oder mehreren Ausführungsformen
der Erfindung. Als ein Beispiel ist innerhalb der Prozessierungsstation 104 Gitter 202, welches
einen ersten Datensatz 302 und einen zweiten Datensatz 304 anzeigt.
Innerhalb der Prozessierungsstation 110 ist Gitter 306,
welches einen ersten Datensatz 302 und einen zweiten Datensatz 308 anzeigt.
Somit haben in diesem Beispiel zwei verschiedene Prozessierungsstationen
(nämlich
Prozessierungsstationen 104 und Prozessierungsstation 110) denselben
Datensatz 302 zum Editieren präsentiert.
-
Ein
Benutzer der Prozessierungsstation 110 kann versuchen,
ein Feld 310 des Datensatzes 302 zu modifizieren
(z.B. den Wert "DOG" in das Feld 310 einzugeben)
während
Prozessierungsstation 104 auch versucht hat, dasselbe Feld 310 des
Datensatzes 302 zu modifizieren (z.B. den Wert "CAT" in das Feld 310 einzugeben).
Wie wir vorher diskutiert haben, erfordert eine Modifikation eines
Feldes eines Datensatzes durch einen oder mehrere Benutzer, wenn
zwei oder mehrere Benutzer den Datensatz zum Editieren offen haben,
dass ein Konfliktauflösungsprozess
vor einem Speichern von einer dieser Modifikationen stattfindet,
um zu bestimmen, welche der Modifikationen gewählt werden sollte (zum Beispiel
Wählen
von "DOG" oder "CAT" für Feld 310 des Datensatzes 302).
-
4 zeigt
ein Flussdiagramm gemäß einer oder
mehreren Ausführungsformen
der Erfindung. Bei 402 werden Datensätze in dem Arbeitsablaufprozessierungssystem 102 (der 1)
erhalten. Die Datensätze
können
von einer Stelle erhalten werden oder können stattdessen von mehreren
Stellen erhalten werden. In einer oder mehreren Ausführungsformen
der Erfindung schließt
das Arbeitsablaufsystem 102 Kundenunterstützungseingaben
ein, welche von mehreren Quellen erhalten sind. In einer oder mehreren
Ausführungsformen
der Erfindung umfassen diese mehreren Quellen optional das Internet,
ein Telefonanrufzentrum, welches eine oder mehrere einlaufende Kundendiensttelefonleitungen
hat, etc.
-
Bei 404 wird
eine Untermenge von Datensätzen,
welche bei 402 erhalten sind, identifiziert und für eine Präsentation
an einem Benutzer aufgesetzt. Eine Untermenge von Datensätzen umfasst
irgendeine Zahl von Datensätzen
von einem Datensatz bis zu einer Gesamtzahl an Datensätzen, welche
in der Datenbank 130 vorhanden sind (der 1),
welche alle Datensätze
umfasst, welche jemals in dem Arbeitsablaufsystem 102 (der 1)
zu irgendeiner Zeit seit Beginn erhalten worden sind, vermindert
um irgendwelche Datensätze,
welche seitdem gelöscht
worden sind.
-
Zu
dieser Zeit oder zu irgendeiner Zeit vorher oder nachher, wird eine überlappende
Untermenge an Datensätzen
einem zweiten Benutzer präsentiert. Dass
eine erste Untermenge von Datensätzen
mit einer zweiten Untermenge überlappt,
meint, dass mindestens ein Datensatz zwischen den beiden Untermengen
an Datensätzen
gemeinsam ist.
-
Bei 406 wird
die erste Untermenge an Datensätzen
dem ersten Benutzer in einem Gitterformat, wie dieses, welches vorher
diskutiert wurde, angezeigt. Es ist nicht notwendig, dass die zweite
Untermenge von Datensätzen
dem zweiten Benutzer in einem Gitterformat präsentiert wird. Die zweite Untermenge
von Datensätzen
kann vielmehr dem zweiten Benutzer in irgendeiner Weise präsentiert
werden, welche durch den Systemdesigner oder die Fachleute der Technik
gewünscht
ist.
-
Bei 408 wird
eine erste gewünschte
Modifikation eines Datenfelds von dem ersten Benutzer erhalten.
Bei 410 wird eine Bestimmung vorgenommen, dass dasselbe
Datenfeld in demselben Datensatz, nachfolgend eines Öffnens des
Datenfelds zum Editieren durch den ersten Benutzer, durch einen zweiten
Benutzer des Arbeitsablaufssystems modifiziert worden ist.
-
Bei 412 wird
ein Datenintegritätstest
auf einer oder mehreren vorgeschlagenen Modifikationen durchgeführt, um
sicherzustellen, dass irgendeine Modifikation, welche gespeichert
wird, einem Datenintegritätserfordernis
entspricht, welches für
das betreffende Feld existiert. Wenn der Datenintegritätstest scheitert,
wird der Benutzer, welcher mit der gescheiterten Modifikation verknüpft ist,
optional darüber
benachrichtigt und ihm eine Möglichkeit
gegeben, die fehlerhafte Modifikation zu korrigieren. Datenintegritätserfordernisse
sind systemabhängig
und können
solche Anforderungen wie Erfordern von nur Texteinträgen, Erfordern
von nur numerischen Einträgen,
Datenformateinträgen,
das Feld ist nur lesbar, das Feld ist nur anhängbar, etc. umfassen. Bei 414 wird
eine Konfliktauflösung
in Gang gesetzt und durchgeführt,
um zu bestimmen, ob die erste oder die zweite gewünschte Modifikation
zu übernehmen
ist, basierend darauf, welche Modifikation gewählt wird.
-
Insbesondere
in einer oder mehreren Ausführungsformen
der Erfindung werden Konflikte zwischen zwei Benutzern aufgelöst durch:
(1) Informieren der Benutzer, dass ein Konflikt existiert (z.B.
ein erster Benutzer versucht, ein Prioritätsattribut der Daten von P3
nach P1 zu verändern
und ein zweiter Benutzer versucht, ein Prioritätsattribut der Daten von P3
nach P2 zu verändern);
(2) Hervorheben der betreffenden fraglichen Datenzelle; und (3)
den zweiten Benutzer bitten, zu wählen, welche der in Konflikt stehenden Änderungen
(das ist die versuchte Änderung
durch den ersten Benutzer und die versuchte Änderung durch den zweiten Benutzer)
zu akzeptieren ist. Ein Fachmann der Technik wird schätzen, dass
sich, wenn mehr als ein Konflikt existiert, der Prozess für jede Zelle
mit einem Konflikt wiederholt (wobei der Benutzer immer wieder wählt, welche
der in Konflikt stehenden Änderungen
zu akzeptieren ist). Weiterhin wird ein Fachmann der Technik schätzen, dass,
wenn ein dritter Benutzer zusätzliche
Konflikte erzeugt, während
der zweite Benutzer eine Konfliktauflösung durchführt, dem zweiten Benutzer ein neuer
Satz an Konflikten präsentiert
wird (der Konflikt zwischen der akzeptierten Änderung und der Änderung,
welche durch den dritten Benutzer versucht wird), wenn er versucht,
die früheren
akzeptierten Änderungen
zu speichern.
-
In
einer oder mehreren Ausführungsformen der
Erfindung kann alternativ die Konfliktauflösungsprozedur ein Bestimmen
umfassen, welche Benutzer oder welche Modifikation eine höhere Priorität hat. Solch
eine Bestimmung kann in vielen Weisen durchgeführt werden. In einer oder mehreren
Ausführungsformen
der vorliegenden Erfindung wird eine Priorität durch Berücksichtigen von Charakteristiken
bestimmt, welche mit den Benutzern verknüpft sind, welche die Modifikationen
durchführen.
In einer oder mehreren Ausführungsformen
der Erfindung wird ein Benutzer als ein Benutzer mit einer höheren Priorität in einer
Organisationshierarchie in Bezug auf einen weiteren Benutzer benannt.
Optional ist diese Benennung Feld-spezifisch. Personen mit gewöhnlicher Begabung
in der Technik, welche den Gewinn dieser Offenbarung haben, werden
leicht andere Wege bewusst sein, die Priorität eines Benutzers oder einer Modifikation
in Bezug auf bestimmte Felder, wenn verglichen mit einem anderen
Benutzer oder einer anderen Modifikation, zu bestimmen, in Übereinstimmung
mit der Erfindung. In jedem Fall wird schließlich eine Modifikation ausgewählt.
-
Bei 416 wird,
wenn der Konfliktauflösungsprozess
korrekt durchgeführt
ist, die ausgewählte Modifikation
gespeichert, wobei angenommen wird, dass die Modifikation den Datenintegritätstest bestanden
hat. Allgemein gesprochen ist in Übereinstimmung mit einer oder
mehreren Ausführungsformen
der Erfindung die ausgewählte
Modifikation die Datenausgabe des Konfliktauflösungsprozesses.
-
Eine
Anwendung oder ein Prozess, welcher konfiguriert ist, die Arbeitsablaufprozessierungsoperationen,
welche diskutiert wurden, durchzuführen, kann auf einem einzelnen
Computer innerhalb eines Netzwerks von Computern ansässig sein,
kann eine Anwendung oder ein Prozess sein, welche/welcher auf einem
Netzwerk von Computern ausgeführt
wird, oder kann eine Anwendung oder ein Prozess sein, welche/welcher
an einem Knoten innerhalb eines Gitters ausgeführt wird, etc.
-
Computercode,
welcher die Verfahren, welche in dieser Offenbarung präsentiert
sind, implementiert, kann in einem Speicher innerhalb eines Computers
gespeichert sein, oder kann alternativ in beständigeren computerlesbaren Medien,
wie etwa eine oder mehrere Festplatten, optischen Platten, Compact
Disc (CD), Magnetbändern,
oder ähnlichem Speichermedium,
gespeichert sein. Weiterhin kann solcher Code über Kommunikationsnetzwerke
mit einer Trägerwelle
oder ohne eine Trägerwelle übertragen
werden.
-
Weiterhin
können
Software-Anweisungen, die Ausführungsformen
der Erfindung auszuführen, auf
einem computerlesbaren Medium, wie etwa einem Flash-Speicher, CD,
Fest plattenlaufwerk, Diskette, einem Band, oder irgendeinem anderen
computerlesbaren Speichergerät
gespeichert werden.
-
Zusammenfassend
betrifft in einem Aspekt die Erfindung ein Verfahren und ein System
zum Verwalten von Daten. Das Verfahren und das System umfasst ein
Identifizieren zumindest eines Datensatzes einer Mehrzahl von Datensätzen für einen
ersten Benutzer, ein Erzeugen einer Benutzerschnittstelle, welche
ein Datenfeld in einem Gitterformat anzeigt, welches mit dem mindestens
einen Datensatz verknüpft
ist, Erhalten von einem zweiten Benutzer, nachfolgend auf das Erzeugen
der ersten Benutzerschnittstelle, einer ersten gewünschten
Modifikation des Datenfelds, Erhalten von dem ersten Benutzer einer
zweiten gewünschten
Modifikation des Datenfelds, Auslösen eines Konfliktauflösungsprozesses, wobei
der Konfliktauflösungsprozess
ein Auswählen einer
ausgewählten
Modifikation von der ersten gewünschten
Modifikation und der zweiten gewünschten
Modifikation umfasst, und ein Speichern der ausgewählten Modifikation
in dem Datenfeld.
-
Während die
Erfindung in Bezug auf eine begrenzte Zahl von Ausführungsformen
beschrieben worden ist, werden die Fachleute der Technik, welche einen
Gewinn dieser Offenbarung haben, schätzen, dass weitere Ausführungsformen
entworfen werden können,
welche nicht von dem Geltungsbereich der Erfindung, wie hierin offenbart,
abweichen. Demgemäß sollte
der Geltungsbereich der Erfindung nur durch die angehängten Ansprüche begrenzt
sein.