DE60036303T2 - Methode und modell für dynamische anfragen - Google Patents
Methode und modell für dynamische anfragen Download PDFInfo
- Publication number
- DE60036303T2 DE60036303T2 DE60036303T DE60036303T DE60036303T2 DE 60036303 T2 DE60036303 T2 DE 60036303T2 DE 60036303 T DE60036303 T DE 60036303T DE 60036303 T DE60036303 T DE 60036303T DE 60036303 T2 DE60036303 T2 DE 60036303T2
- Authority
- DE
- Germany
- Prior art keywords
- user
- query model
- query
- model
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2425—Iterative querying; Query formulation based on the results of a preceding query
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Acyclic And Carbocyclic Compounds In Medicinal Compositions (AREA)
- Stored Programmes (AREA)
- Compounds Of Unknown Constitution (AREA)
Description
- TECHNISCHES GEBIET DER ERFINDUNG
- Diese Erfindung betrifft allgemein das Gebiet der analytischen Datenverarbeitung und insbesondere ein dynamisches Abfragemodell und ein Verfahren zum Ausführen benutzerangepasster Datenbankabfragen.
- ALLGEMEINER STAND DER TECHNIK
- Systeme für wirtschaftliche Intelligenz begannen weitgehend als Entscheidungsunterstützungssysteme (Decision Support Systems – DSS) und Managementunterstützungssysteme (Executive Information Systems – EIS). Die Entscheidungsunterstützungssysteme (DSS) und Managementunterstützungssysteme (EIS) waren Systeme mit Wertzuwachs, die zusätzliche Information aus existierenden Online-Transaktionsverarbeitungssystemen (OLTP) bereitstellten.
- Während sich die Systeme für wirtschaftliche Intelligenz weiterentwickelten, integrierten sie die Funktionalität der Entscheidungsunterstützungssysteme (DSS) mit der Funktionalität der Managementunterstützungssysteme (EIS) und fügten Online-Tools für die analytische Verarbeitung (OLAP) und Managementberichterstattungstools hinzu. Diese hybriden Systeme für wirtschaftliche Intelligenz haben sich allmählich von der Großrechnerumgebung zu einer Umgebung mit verteilten Servern/Desktops weiterentwickelt, um umfangreicheren Benutzerzugriff zu erlauben.
- Kürzlich hat das Entstehen zentralisierter Datenlager (Data-Warehouse) sowie so genannter Daten-Marktstände (Datamart) eine dramatische Steigerung an verfügbaren Daten geschaffen, die darauf warten, analysiert, genutzt und innerhalb einer Organisation verteilt zu werden. Derartige Datenlager und Daten-Marktstände wurden jedoch typisch für die Informationslieferung und nicht für Transaktionsverarbeitung optimiert. Datenlager und Daten-Marktstände boten daher nur beschränkte Lösungen, um gespeicherte Daten in nützliche und strategisch taktische Information umzuwandeln. Gleichzeitig dazu traten die Systeme für wirtschaftliche Intelligenz in den Vordergrund, indem sie ausgeklügelte Analysetools zum Analysieren großer Mengen gespeicherter Informationen boten, um effektive Planung und Beschlussfassung innerhalb einer Organisation zu unterstützen.
- Die Systeme für wirtschaftliche Intelligenz und anderen analytischen Tools stellen typisch vordefinierte Abfragemodelle bereit, um neue Benutzer und andere Datenkonsumenten beim Erzielen von Daten aus einer Datenbank zu unterstützen. Ein Problem bei solchen vordefinierten Abfragemodellen besteht jedoch darin, dass sie generisch sind und nicht spezifisch für die benutzerspezifischen Anforderungen geeignet sind. Um spezifisch relevante Information zu erzielen, muss ein Benutzer selbst eine benutzerdefinierte Abfrage schreiben, was gewöhnlich fortgeschrittene Datenbankkenntnisse erfordert. Obwohl alle Benutzer in der Lage sind, bestimmte Informationen unter Einsatz vordefinierter Abfragemodelle zu erzielen, sind die meisten Benutzer nicht in der Lage, Information zu erzielen, die für sie spezifisch relevant ist.
-
US 5 410 693 betrifft ein Datenbanksystem, auf dem mehrere Abfragepakete gespeichert sind. Das Erzeugen und das Ändern der Abfragepakete ist nur auf bestimmte zugelassene Benutzer beschränkt, wie zum Beispiel Datenbankverwalter. Andere, nicht befugte Benutzer können Abfragepakete weder anlegen noch ändern. -
US 5 701 453 betrifft ein Datenbanksystem, bei dem ein Datenbankverwalter ein Softwareschema anlegt, das spezifiziert, welche Tabellen für einen Endbenutzer verfügbar sind, und das die Beziehungen zwischen Spalten dieser Tabellen spezifiziert. Ein Endbenutzer kann ein Formular oder einen Bericht konzipieren, indem er einen Satz von Feldern aus einer Liste verfügbarer Spalten für ein bestimmtes logisches Schema auswählt. - KURZDARSTELLUNG DER ERFINDUNG
- Die vorliegende Erfindung stellt ein dynamisches Abfragemodell und ein Verfahren bereit, die im Wesentlichen die Nachteile und Probleme in Zusammenhang mit den früheren Systemen und Verfahren eliminieren oder verringern. Insbesondere werden vordefinierte Abfragemodelle für Benutzer zum Anpassen an die benutzerspezifischen Anforderungen bereitgestellt. Das erlaubt es den Benutzern, vordefinierte Abfragen schnell und einfach an ihre spezifischen Erfordernisse anzupassen.
- Gemäß einer Ausführungsform der vorliegenden Erfindung weist ein Verfahren zum Erzeugen von Datenbankabfragen, das Speichern eines vordefinierten Abfragemodells zum Abfragen einer Datenbank auf. Ein zugänglicher Abschnitt des vordefinierten Abfragemodells wird für einen Benutzer auf Anfrage angezeigt. Benutzeredits an dem zugänglichen Abschnitt des vordefinierten Abfragemodells werden empfangen und verwendet, um ein benutzerangepasstes Abfragemodell zu erzeugen. Eine Abfrage wird dann basierend auf dem benutzerangepassten Abfragemodell ausgelöst.
- Genauer genommen und in Übereinstimmung mit einer besonderen Ausführungsform der vorliegenden Erfindung ist die Anzeige eine graphische Ansicht zugänglicher Datenelemente, die das vordefinierte Abfragemodell definieren. Eine graphische Ansicht zugänglicher Datenelemente weist zugängliche Tabellen, Spalten und Tabellen sowie Verbindungen zwischen Tabellen auf. Bei dieser und anderen Ausführungsformen kann ein benutzerangepasstes Abfragemodell Daten banktabellen, Datenbankspalten und Datenbankverbindungen aufweisen, die in dem vordefinierten Abfragemodell fehlen oder unterschiedlich sind.
- Die technischen Vorteile der vorliegenden Erfindung umfassen das Bereitstellen eines verbesserten Portals für wirtschaftliche Intelligenz, das es Abfragemodellen erlaubt, intelligenter erzeugt und innerhalb einer Organisation genutzt zu werden. Insbesondere erlaubt es das Portal für wirtschaftliche Intelligenz, Standardabfragemodelle zu bauen und ändern, indem eine graphische Ansicht von Datenelementen verwendet wird. Soweit möglich, werden spezifizierte Daten innerhalb eines Abfragemodells automatisch verlinkt. Abfragen können daher leicht definiert und später von Benutzern ohne spezialisierte Datenbankkenntnisse geändert werden.
- Ein weiterer technischer Vorteil der vorliegenden Erfindung umfasst das Bereitstellen eines Abfragemodells und Verfahrens, die es Benutzern erlauben, leicht aussagekräftige Information zu erzielen und analysieren. Insbesondere werden die vordefinierten Abfragemodelle Benutzern zum Anpassen und Anpassen an die benutzerspezifischen Anforderungen bereitgestellt. Unerfahrene Benutzer und andere Informationskonsumenten können daher Abfragen abändern, um sie an ihre eigenen Erfordernisse anzupassen. Das erleichtert die robuste Datenanalyse durch alle Benutzer und erlaubt es unerfahrenen Benutzern, verfügbare Information effektiv zu verwenden, um Operationen innerhalb ihrer Organisation zu verbessern.
- Weitere technische Vorteile der vorliegenden Erfindung ergeben sich für den Fachmann aus den folgenden Figuren, der Beschreibung und den Ansprüchen.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- Zum besseren Verstehen der vorliegenden Erfindung und ihrer Vorteile wird nun auf die folgende Beschreibung verbunden mit den begleitenden Zeichnungen Bezug genommen, wobei gleiche Bezugszeichen gleiche Teile darstellen und in welchen:
-
1 ein Blockschaltbild ist, das ein Portal für wirtschaftliche Intelligenz gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, -
2 ein Flussdiagramm ist, das ein Verfahren zum Initialisieren des Portals für wirtschaftliche Intelligenz der1 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, -
3 ein Flussdiagramm ist, das ein Verfahren zum Erzeugen vordefinierter Abfragemodelle in dem Portal für wirtschaftliche Intelligenz der1 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, -
4 ein Flussdiagramm ist, das ein Verfahren zum Verbreiten und Warten von Clientanwendungen in dem Portal für wirtschaftliche Intelligenz der1 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, -
5 ein Flussdiagramm ist, das ein Verfahren zum Erzeugen und Ausführen eines Abfragemodells basierend auf einem vordefinierten Abfragemodell gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, -
6 ein Blockschaltbild ist, das das Funktionieren des modularen Abfragemotors der1 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, -
7 ein Flussdiagramm ist, das das Funktionieren des modularen Abfragemotors der6 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, -
8 ein Blockschaltbild ist, das ein multidimensionales Speichermodell gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, -
9 ein Blockschaltbild ist, das beispielhafte Daten für das multidimensionale Speichermodell der8 veranschaulicht, -
10 ein Flussdiagramm ist, das ein Verfahren zum Erzeugen des multidimensionalen Speichermodells der8 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, -
11 ein Bildschirmdiagramm ist, das eine Anzeige zusammengehörender Ansichten in dem Portfolio der1 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, und -
12 ein Bildschirmdiagramm ist, das Fensterregisterreiter zum Navigieren zwischen zusammengehörenden Ansichten gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. - AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
1 veranschaulicht ein Portal für wirtschaftliche Intelligenz10 gemäß einer Ausführungsform der vorliegenden Erfindung. Allgemein beschrieben stellt das Portal für wirtschaftliche Intelligenz10 einen Datenzugang und gemeinsame Informationsnutzung in einem Unternehmen bereit sowie ausgeklügelte multidimensionale Analysetools. Die Analysetools sind weitgehend automatisiert und intuitiv, um es einer großen Auswahl von Benutzern zu erlauben, gespeicherte Information bei strategischen Beschlüssen zu verwen den. Derart maximiert das Portal für wirtschaftliche Intelligenz10 den Nutzen von Entscheidungsunterstützung, den die Benutzer von ihren Daten erhalten, während die Kosten des Umsetzens und Verwaltens des Systems minimiert werden. - In der in
1 veranschaulichten Ausführungsform setzt das Portal für wirtschaftliche Intelligenz10 eine dreischichtige verteilte Architektur um, die eine Datenbankebene12 , eine Serverebene14 und eine Clientebene16 aufweist, die durch ein oder mehrere Netzwerke18 verbunden sind. Die Server- und Clientebene14 und16 basieren auf Java, um das Internetkommunikationsprotokoll (TCP/IP), multiple Client- und Serverplattformen, gemeinsame Verbindungen mit einer großen Vielfalt an Datenquellen sowie komplette Skalierbarkeit des Portals10 unternehmensweit zu unterstützen. Zusätzlich stellen die auf Java basierende Serverebene14 und Clientebene16 eine offene API-Architektur bereit, die weitgehend anpassbar und zum Verarbeiten strukturierter Daten in Datenbanken sowie unstrukturierter Daten geeignet ist. Das Client-/Servernetzwerk18 weist ein firmeninternes Intranet auf, während das Server-/Datenbanknetzwerk18 Abschnitte öffentlicher und privater Netzwerke umfasst. Es ist klar, dass das Portal für wirtschaftliche Intelligenz10 implementiert werden kann, indem andere geeignete Architekturen, Programmiersprachen und Links verwendet werden. - Unter Bezugnahme auf
1 weist die Datenbankebene12 eine oder mehrere Datenbanken20 auf. Wie unten ausführlicher beschrieben, sind die Datenbanken20 jeweils als ein Aliasname dargelegt, der die ganze Information enthält, die erforderlich ist, um sich an eine Datenbank20 anzuschließen, darunter das Datenbank-Logon. Der Gebrauch von Datenbank-Aliasnamen beugt dem direkten Benutzerzugriff auf die native Datenbank vor, um die Integrität in der Datenbank20 zu wahren. Für die veranschaulichende Ausführungsform können die Datenbanken20 jeweils eine Datenbank sein, die mit Java-Datenbankverbindung (JDBC) oder Objektdatenbankverbindung (ODBC) kompatibel ist sowie ein geeignetes Datenlager oder ein geeigneter Daten-Marktstand. - Die Serverebene
14 weist einen oder mehrere Server30 auf. Die Server30 weisen jeweils einen Satz auf Java basierender Anwendungen auf, die auf verschiedenen Plattformen funktionieren können. Wie unten ausführlicher beschrieben, stellen die Server30 hierarchische Sicherheit, zentralisierte Verwaltung, schnellen gemeinsamen Multithread-Datenzugang und multidimensionale Datenanalyse für das Portal für wirtschaftliche Intelligenz10 bereit. - Der Server
30 weist einen Katalog32 , einen Katalogmanager34 , einen Sicherheitsmanager36 , einen Abfragengenerator38 , ein Datenbankzugriffssystem40 , einen Cache-Manager42 , einen multidimensionalen Modellmanager44 und einen Clientadministrator46 auf. Der Katalog32 enthält alle Konfigurationen, Dokumente und Arbeitsprodukte, die von Administratoren und Benutzern des Portals für wirtschaftliche Intelligenz10 angelegt werden. Das zentralisiert das Management der Dokumente, eliminiert redundante und überholte Kopien auf Clientsystemen, erlaubt es, Dokumente unternehmensweit gemeinsam zu nutzen und stellt ununterbrochene Sicherheit für die Dokumente bereit. Der Katalogmanager34 verwaltet alle gemeinsam genutzten Informationen innerhalb des Servers30 . Es ist klar, dass solche Konfigurationen, Dokumente und Arbeitsprodukte anders geeignet gespeichert und innerhalb des Portals für wirtschaftliche Intelligenz10 verwaltet werden können. - Der Katalog
32 weist einen oder mehrere Datenbank-Aliasnamen50 , Benutzerprofile52 , Sicherheitsgruppen54 und vordefinierte Abfragemodelle56 auf, die von einem Systemadministrator konfiguriert werden. Ferner weist der Katalog32 ein oder mehrere Portfolios58 auf, die zusammengehörende Ansichten60 speichern, die von einem Systembenutzer angelegt werden. Wie oben beschrieben, enthalten die Datenbank-Aliasnamen50 jede Information, die erforderlich ist, um sich an die Datenbanken20 anzuschließen. Der Gebrauch von Datenbank-Aliasnamen50 verhindert den direkten Zugriff des Benutzers auf die Datenbank, um die Datenintegrität in den nativen Datenbanken20 zu wahren und erlaubt es Benutzern ohne technische Kenntnisse, in aller Sicherheit auf Firmendaten zuzugreifen, ohne eine Verletzung der Integrität fürchten zu müssen. Zusätzlich dienen die Datenbank-Aliasnamen50 auch dazu, Verbindungen mit den physischen Datenbanken20 gemeinsam zu nutzen und dadurch die Anzahl von Datenbankanschlüssen zu verringern, die erforderlich ist, um eine große Anzahl von Clients zu unterstützen. - Die Benutzerprofile
52 definieren jeweils einen spezifischen Privilegienbereich für einen Benutzer und eine oder mehrere Sicherheitsgruppen54 , zu welchen ein Benutzer zugreifen kann. Die Benutzerprofile52 werden von einem Systemadministrator erzeugt und gewartet. Die Sicherheitsgruppen54 setzen ein hierarchisches Sicherheitsmodell mit Sicherheitsbefugnissen und Privilegien um, die jeder Gruppe54 von einem Systemadministrator zugewiesen werden. Eine Administratorsicherheitsgruppe wird bereitgestellt, um Administratoren den kompletten Zugriff auf das System zu erlauben, darunter die Befugnisse zum Hinzufügen, Ändern und Löschen von Sicherheitsgruppen54 sowie Benutzerprofilen52 in dem System. Die endgültigen Sicherheitsbefugnisse und Privilegien, die einem Benutzer zufallen, ist die Einheit seiner oder ihrer individuellen Befugnisse, wie sie in dem Benutzerprofilen52 definiert sind, sowie der Befugnisse jeder Sicherheitsgruppe54 , zu der er oder sie gehört. Derart wird das Enthüllen der Systemmerkmale für Benutzer über den weitgehenden Gebrauch von Erlaubnissen oder Privilegien kontrolliert, die den Sicherheitsgruppen54 oder einzelnen Benutzerprofilen52 gewährt oder vorenthalten werden. Während die Administratoren daher eventuell die Fähigkeit haben, sich an Datenbanken20 anzuschließen und Benutzer hinzuzufügen oder zu löschen, können Power-Benutzer diese Befugnis eventuell nicht haben. Statt dessen können Power-Benutzer Zugang zu einem kompletten Bereich von Datenanalyse- und Zusammmenarbeitsfeatures haben, während Informationskonsumenten nur Berichte oder Tabellen einsehen und anpassen können, die zuvor von einem Administrator oder Power-Benutzer definiert wurden. - Die vordefinierten Abfragemodelle
56 sind eigenständige logische Modelle bestimmter Datenbanken, die erstellt werden, um das Anlegen einer Abfrage durch Benutzer, die technisch weniger bewandert sind, einfach und intuitiv zu gestalten. Die vordefinierten Abfragemodelle56 nehmen ferner abstrakte Daten aus einer Datenbank20 und enthüllen nur die Abschnitte der Datenbank20 , die für die Gruppe oder Gruppen von Benutzern relevant sind, die das bestimmte Abfragemodell56 benutzen werden. Die vordefinierten Abfragemodelle56 enthalten relevante Tabellen aus einer Datenbank, Felder innerhalb der Datenbanktabellen und Links zwischen den Datenbanktabellen, die gemeinsam eine Abfrage definieren. Die vordefinierten Abfragemodelle56 bilden die Grundlage für alle Abfragen, die durch Benutzer angelegt werden. Derart kontrolliert das vordefinierte Abfragemodell56 die Elemente in jeder beliebigen Datenbank20 , auf die eine bestimmte Gruppe von Benutzern zugreifen kann. Zusätzlich erstellen die vordefinierten Abfragemodelle56 Mechanismen, die eventuell den Typ der Abfragen einschränken, der durch eine bestimmte Gruppe von Benutzern gemacht werden kann. Insbesondere definieren die Mechanismen das Maximum an Computerressourcen oder Regler, die verwendet werden können, um die Abfragen auszuführen, und zulässige Verbindungen zwischen Tabellen, um unkontrollierten oder bösartigen Abfragen vorzubeugen, die sich auf die Integrität des Portals für wirtschaftliche Intelligenz10 auswirken könnten. - Die Portfolios
58 stellen ein Datensystem zum Speichern von Ansichten60 dar, die die Benutzer angelegt oder erzielt haben. Zusätzlich können die Portfolios58 zum internen Erzeugen von Ansichten60 zum Beispiel Ansichten60 von Textverarbeitungsdokumenten, Kalkulationstabellen und Webseiten enthalten. Die Portfolios58 sind jeweils eine zusammengesetzte Datei, die eine Sammlung von Ansichten60 oder andere verwandte Datensätze wiederherstellen kann. Die Ansichten60 können direkt innerhalb des Portfolios58 gespeichert oder miteinander in dem Portfolio58 verlinkt sein. - Der Zugriff auf die Portfolios
58 wird durch erstellte Sicherheitsparameter für Benutzer und zusätzlich durch die Anleger der Ansichten60 in dem Portfolio58 bestimmt. Bei einer Ausführungsform sehen die Benutzer die Portfolios58 , für die sie keine Zugriffsprivilegien haben, nie. Zusätzlich können die Portfolios58 benutzerspezifisch sein, um automatische Bekanntgabe an dazugehörende Benutzer bereitzustellen, wenn die Ansichten60 innerhalb des Portfolios58 aktualisiert oder anderswie geändert wurden. Derart wird die Sicherheit in den Betrieb des Systems integriert wird, was die Zusammenarbeit und die gemeinsame Nutzung von Daten innerhalb eines Unternehmens erleichtert. - Die Ansichten
60 stellen Daten zum Anzeigen einer großen Vielfalt von Formaten, wie zum Beispiel Tabellen, Graphiken, Berichte, Pivots und Webseiten bereit. Die Ansichten60 können entweder Live-Ansichten sein, die aktuelle Daten darstellen oder Schnappschussansichten von Daten in einem bestimmten Zeitpunkt sein. Zusätzlich und wie unten ausführlicher beschrieben, können Live-Ansichten60 zum automatischen Aktualisieren in regelmäßigen Abständen programmiert werden, zum Aktualisieren beim ersten Öffnen und dergleichen, Schnappschussansichten60 können eingestellt werden, um frühere Schnappschüsse zu überschreiben oder eine Sequenz von Schnappschüssen oder überlagernde Ansichten60 für historische Analyse anzulegen. Die Ansichten60 und Portfolios58 können privat von einem Benutzer gespeichert oder verteilt oder gemeinsam von einer oder mehreren Sicherheitsgruppen54 benutzt werden, um die Zusammenarbeit und Beschlussfassung zu erleichtern. - Der Sicherheitsmanager
36 verwaltet die Sicherheit in dem Portal für wirtschaftliche Intelligenz10 . Insbesondere umfasst der Sicherheitsmanager36 vordefinierte Sicherheitsaufgaben zum Erzeugen und Warten von Benutzerprofilen52 und Sicherheitsgruppen54 . Der Sicherheitsmanager36 stellt auch eine Sicherheitshierarchie bereit, die es Benutzerprofilen62 und Sicherheitsgruppen54 erlaubt, Privilegien von Parent-Klassen zu übernehmen. Derart kann ein Systemadministrator leicht die Sicherheit für das Portal für wirtschaftliche Intelligenz10 erstellen und warten. - Der Abfragengenerator
38 stellt graphische Ansichten von Datenbankelementen bereit, um Systemadministratoren und Power-Benutzer beim Definieren der Abfragemodelle56 zu unterstützen. Die vordefinierten Abfragemodelle56 definieren jeweils die Datenbankverbindung, die Familie von Tabellen und Spalten, die aus der Datenbank enthüllt werden, die zulässigen Verbindungstypen und -kombinationen, Metadaten, Ausführungsregeln und Aliasnamen für die Abfrage. Die vordefinierten Abfragemodelle56 können später angepasst werden und von einem großen Bereich von Benutzern benutzt werden, um geschützte, sichere Abfragen auszuführen. - Das Datenbankzugriffsystem
40 weist Funktionalität und Software zum Zugreifen und Abfragen der Datenbanken20 sowie zum Zurückgeben von Abfragenergebnissen zu dem Server30 zur Handhabung, Analyse und Berichterstattung durch Benutzer auf. Bei der veranschaulichten Ausführungsform weist das Datenbankzugriffsystem40 einen Abfragenplaner72 , einen SQL-Generator74 , einen Verbindungsmanager76 und eine Java-Datenbankverbindung (JDBC)78 auf. - Der Abfragenplaner
72 löst geplante Abfragen aus. Wie oben besprochen, kann jede Ansicht60 , darunter die Daten und Berechnungen, die in der Ansicht60 enthalten sind, eingestellt werden, um sich ausgehend von der Datenbank20 gemäß mehreren Optionen zu aktualisieren, darunter spezifische Terminpläne. Das erlaubt es, die Ansichten60 leicht zu aktualisieren, so dass sie den laufenden Stand der Daten wiedergeben und die Benutzer können immer mit der neuesten Information arbeiten. Zusätzlich können Schnappschussansichten60 automatisch geplant werden, um eine historische Sammlung von Schnappschussansichten60 zu schaffen, die auf der gleichen Abfrage basieren. Eine Ansicht60 kann daher zum Beispiel für Aktualisierungen um 10:00 abends jeden Montag, Mittwoch und Freitag geplant werden und automatisch an eine Gruppe von Benutzern über ein gemeinsames Portfolio58 verteilt werden. - Der SQL-Generator
74 empfängt benutzerangepasste oder nicht benutzerangepasste Abfragemodelle von einem Benutzer und erzeugt eine Text-SQL-Abfrage zum Ausführen durch den Verbindungsmanager76 . Derart werden Abfragemodelle, die von Benutzern graphisch angezeigt und editiert wurden, automatisch wieder in ausführbare Datenbankanweisungen umgewandelt und danach ausgeführt. Das erlaubt es unerfahrenen Benutzern und anderen Informationskonsumenten mit wenig oder keinen Programmierkenntnissen, das Portal für wirtschaftliche Intelligenz10 komplett zu benutzen und von ihm zu profitieren. - Bei einer Ausführungsform weist der SQL-Generator
74 dialogsspezifische Generator und einen SQL-Syntaxbaum auf, um Text-SQL zu erzeugen. Die dialogsspezifischen Generatoren entsprechen den verschiedenen Typen von Datenbanken20 , auf die in Zusammenhang mit dem Portal für wirtschaftliche Intelligenz10 zugegriffen wird oder die verwendet werden. Die dialogsspezifischen Generatoren können zum Beispiel Oracle, Sybase, DB2 und MS SQL-Generator enthalten. - Der Verbindungsmanager
76 empfängt Text-SQL-Abfrageanfragen von dem SQL-Generator74 und kommuniziert mit den Datenbanken20 , um die angeforderten Abfragen durch die Java Datenbankverbindung (JDBC)78 auszuführen. Bei der veranschaulichten Ausführungsform weist der Verbindungsmanager einen modularen Abfragemotor80 auf, der einen intelligenten Datensatz82 und eine Bibliothek von Datentreibern84 enthält. Wie unten ausführlicher beschrieben, führen die Datentreiber84 jeweils eine vordefinierte Datenbankoperation aus. Der intelligente Datensatz82 wählt Datentreiber84 aus und bestellt sie aus der Bibliothek nach Bedarf, um eine Abfrageanfrage durchzuführen. Die Datenbankzugriffsverfahren sind daher genormt und der Datensatz braucht daher nicht für jede Anwendung getrennt angepasst zu werden. - Der Cachemanager
42 enthält einen Cache90 , der mehrere Seiten92 und einen Prozess-Thread94 aufweist. Der Cachemanager42 empfängt Daten, die aus den Datenbanken20 als Reaktion auf Abfrageanfragen extrahiert werden und speist sie in die Seiten92 ein. Der Cachemanager42 läuft asynchron zu dem Prozess-Thread94 , der den Cache90 treibt, um Daten in die Seiten92 einzuspeisen. Es ist klar, dass die Daten anderswie geeignet empfangen, gespeichert und ursprünglich von dem Server30 verarbeitet werden können. - Der multidimensionale Modellmanager
44 erzeugt und manipuliert multidimensionale Speichermodelle100 . Wie unten ausführlicher beschrieben, verwendet das multidimensionale Speichermodell100 eine nicht sparse Architektur zum Mininieren der Größe des Modells100 . Die verringerte Größe des Modells100 verbessert die Verarbeitungszeiten und erlaubt effiziente Pivot- und Drilloperationen während der Datenanalyse. Zusätzlich verwendet das Modell100 eine offene Architektur, um es zu erlauben, Berechnungen dynamisch nach dem Aufbauen des Modells auszuführen. Die Benutzer können daher neue Berechnungen anlegen, um Datenschnittstellen zu analysieren, die während der Originaldefinition der Modelle100 nicht vorweggenommen wurden. Das verringert Zeit und Ressourcen, die zum Unterstützen von Pivot- und Drilloperationen erforderlich sind. - Der Clientadministrator
46 stellt eine zentrale Stelle bereit, von der ausgehend das Portal10 die Clientadministration verwaltet. Der Clientadministrator46 stellt eine Null-Administrations-Architektur bereit, die automatisch das Verbreiten von Clientanwendungen verwaltet, um die Benutzerleistung zu maximieren und den Netzwerkverkehr zu minimieren und gleichzeitig sicherzustellen, dass immer die jüngsten Anwendungen von den Clients verwendet werden. - Die Clientebene
16 weist mehrere Clients110 auf. Die Clients110 können lokal oder voneinander und von dem Server30 entfernt sein. Bei einer Ausführungsform stellen die Clients110 dem Server jeden Zugriff, darunter Systemadministration bereit. Wie oben beschrieben, werden alle Funktionen des Clients110 von einem robusten Satz aus Befugnissen, die in dem Server30 gespeichert sind, kontrolliert. Befugnisse werden sowohl einzelnen Benutzern als auch Sicherheitsgruppen von Benutzern gewährt. Derart wird die robuste Funktionalität des Portals für wirtschaftliche Intelligenz10 entsprechend kontrolliert und an alle Benutzer unternehmensweit zugeteilt, ohne technisch weniger bewanderten Benutzern allzu komplex zu erscheinen. - Der Client
110 weist eine Client-API112 sowie eine graphische Benutzerschnittstelle (GUI)114 auf. Bei der veranschaulichten Ausführungsform ist der Client110 mit allen Komponenten aus Java-Stücken oder „Java-Beans" konzipiert. Bei dieser Ausführungsform und wie unten ausführlicher beschrieben, identifiziert der Client seine Bestandteile, wenn er eine Verbindung mit dem Server30 erstellt. Das erlaubt eine effiziente Verwaltung des Clients110 und die Integration zusätzlicher Funktionalität in den Client110 . - Die Client-API
112 weist einen Satz von Java-Klassen auf, die definieren, wie der Client110 mit dem Server30 kommuniziert. Da die Client-API112 es jedem Javaprogramm erlaubt, mit dem Server30 zu kommunizieren, kann ein Unternehmen effizient zusätzliche Anpassungsfähigkeiten für seine Clients110 hinzufügen. - Die graphische Benutzerschnittstelle
114 weist einen Satz von Verwaltungs-Paneelen116 , einen Satz von Benutzer-Paneelen118 und einen Satz von Assistenten120 , einen Abfrageverfasser122 , einen Satz von Viewern124 und einen Property Inspector126 auf. Die administrativen und Benutzer-Paneele116 und118 stellen graphische Anzeigen zum Führen von Administratoren und Benutzern durch ihre jeweiligen Operationen bereit. - Die Assistenten
120 unterteilen die Anlegungsprozesse in einen oder mehrere logische Schritte und führen die Administrationen und Benutzer durch den Anlegungsprozess. Das unterstützt unerfahrene Benutzer und andere Informationskonsumenten ohne ausführliche Programmierkenntnisse beim Ausführen von Abfragen und Analysieren von Ergebnissen. Derart können alle Benutzer innerhalb eines Unternehmens effizient das Portal für wirtschaftliche Intelligenz10 zum Extrahieren aussagekräftiger Daten benutzen und dadurch ihren Einsatzbereich innerhalb eines Unternehmens verbessern. - Der Abfragenverfasser
122 spezifiziert, woher Daten kommen, welche stichhaltigen Daten anzuzeigen sind und wie sie zu speichern sind. Der Abfragenverfasser122 stellt eine graphische Ansicht vordefinierter Abfragemodelle56 bereit, um es Benutzern zu erlauben, intuitiv die Modelle56 zu verstehen und abzuändern, so dass sie ihren besonderen Erfordernissen entsprechen. Bei einer Ausführungsform erlaubt es der Abfragenverfasser122 den Benutzern, nur die Datenelemente in einem Modell56 zu sehen, für die sie Privilegien besitzen. Der Abfrageverfasser122 speichert Benutzeredits an einem vordefinierten Abfragemodell56 als benutzerangepasstes Abfragemodell128 , das von dem Server30 geladen und ausgeführt werden kann. - Der Viewer
124 legt eine Kombination von Datenansichten für Tabellen, Graphiken, Berichte, Pivots, Webseiten und dergleichen an. Der Viewer124 erlaubt es Benutzern, einfach von einer beliebigen Ansicht60 von Daten zu einer anderen umzuschalten und Daten zu sortieren und filtern. Die Ansichten60 können auch zu HTML zur Veröffentlichung auf einem Web-Server oder zum gemeinsamen Nutzen in dem Katalog32 exportiert werden. Wie oben beschrieben, können die Datenansichten60 live oder Schnappschüsse sein. Die Ansichten60 oder Portfolios58 aus Ansichten60 können privat innerhalb einer einem einzelnen Benutzer gehörenden Katalogzone gespeichert werden oder unter einer oder mehreren Sicherheitsgruppen54 verteilt und gemeinsam genutzt werden, um die Zusammenarbeit und Beschlussfassung zu erleichtern. - Innerhalb des Viewers
124 zeigt ein Tabellen-Viewer130 Information als eine Reihe von Spalten und Zeilen an. Eine Tabellenansicht dient typisch als Ausgangspunkt zum Entwickeln von Ideen, denn sie stellt eine Gesamtvorstellung der Organisationsart von Information bereit. In der Tabellenansicht können Benutzer Filter hinzufügen, berechnete Felder hinzufügen und zusammenfassende und Zwischensummeninformation hinzufügen. Spalten können anders angeordnet, verborgen oder anderswie geändert werden. Der Inhalt kann sortiert und auf verschiedenen Niveaus angezeigt werden. - Ein Bericht-Viewer
132 zeigt Daten in einem Berichtformat an. Eine Berichtansicht stellt ein robustes Bandberichts format bereit und erleichtert das automatische Berichterzeugen und -verteilen. Die Benutzer können nach ihrem Gutdünken die Felder und Spalten in einer interaktiven graphischen Designübersicht eines Berichts anordnen und Berechnungen, Zwischensummen, Gruppierungen, Kopfteile, Fußzeilen, Titel und Graphiken hinzufügen. - Ein Graphik-Viewer
134 zeigt graphische Ansichten von Daten in einer großen Vielfalt von 2D- und 3D-Formaten an. Diese Formate können zum Beispiel Balken-, Kreisdiagramme mit Sektoren, Liniendiagramme, Streuungsdiagramme und Radargraphen umfassen. Während der Arbeit mit einer Graphik können Benutzer den Typ oder den Inhalt der Graphik durch Herausfiltern von Daten unter Einsatz eines Untersatzes der Originaldaten ändern und multidimensionale Daten zeichnen. Die graphische Ansicht kann auch „on the fly" geändert werden, indem die Aufzeichnungen in einer anderen Reihenfolge sortiert und die Eigenschaften der Graphik geändert werden. - Ein Pivot-Viewer
136 stellt Pivot-Ansichten bereit, die multidimensionale oder gewürfelte Daten gemäß mehreren Dimensionen oder gewürfelte Daten gemäß mehreren Dimensionen anzeigen. Das erlaubt es Benutzern, Information entlang disparater Dimensionen zu betrachten (slice and dice), um unterschiedliche Perspektiven zu den Aktivitäten und der Leistung eines Unternehmens zu erhalten. Die Pivot-Ansicht unterstützt Hierarchien in den mehreren Dimensionen, was es Benutzern erlaubt, Drill-Down, Drill-Up und Drill-Through-Analyse durchzuführen. Wie unten ausführlicher beschrieben, werden die multidimensionalen Ansichten ausgehend von dem multidimensionalen Speichermodell100 erzeugt. - Ein Browser-Viewer
138 stellt einen eingebauten, plattformübergreifenden Web-Browser bereit. Das erlaubt es den Benutzern, auf Arbeitsprodukte und Internet- oder Intranet-Umgebungen auf Web-Basis zuzugreifen. Berichte oder Ob jekte, die in anderen Ansichten angelegt wurden, können zu HTML exportiert werden, um auf Web-Sites veröffentlicht oder über die Browser-Schnittstelle angezeigt zu werden. - Der Property Inspector
126 erlaubt es den Benutzern, die Anzeigeeigenschaften einer bestimmten Ansicht zu wechseln. Bei einer Ausführungsform hat der Property Inspector126 keinen Modus. Bei dieser Ausführungsform wendet der Property Inspector126 die Änderungen noch auf dem Bildschirm an und erlaubt es den Benutzern, mit verschiedenen Konfigurationen und Attributen zu experimentieren, bevor der Property Inspector122 geschlossen wird. - Gemeinsam fügen der Client
110 und der Server30 des Portals für wirtschaftliche Intelligenz10 eine strategische Schicht zu einer Unternehmensinformationsstruktur hinzu und stellen eine einzige Eingabestelle für integrierte Abfrage, Berichterstattung und Analyse bereit, die inhärent für einen weiten Bereich von Benutzern ausdehnbar sind. Da das Portal für wirtschaftliche Intelligenz10 komplett unternehmensweit integriert werden kann, erleichtert das Portal10 unternehmensweite Routine-Analyseweitergabe und die gemeinsame Nutzung von Information. Daher sind viel mehr Leute innerhalb eines Unternehmens in der Lage, Daten, die bereits für das Unternehmen existieren, regelmäßig und nutzbringend zu verwenden. -
2 ist ein Flussdiagramm, das ein Verfahren zum Initialisieren des Portals für wirtschaftliche Intelligenz10 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Unter Bezugnahme auf2 beginnt das Verfahren in Schritt200 , in dem ein Systemadministrator die Benutzerprofile52 definiert. Wie oben beschrieben, stellen die Benutzerprofile52 Benutzern Befugnisse bereit, Features innerhalb des Systems zu verwenden. Dann definiert der Systemadministrator in Schritt202 Sicherheitsgruppen54 . Wie oben beschrieben, sind die endgültigen Sicherheits befugnisse und Privilegien, die dem Benutzer zufallen, die Einheit aller seiner oder ihrer individuellen Befugnisse, wie sie in den Benutzerprofilen52 definiert sind sowie die Befugnisse jeder Sicherheitsgruppe54 , zu der er oder sie gehört. - Danach erzeugt der Systemadministrator in Schritt
204 einen Datenbank-Aliasnamen50 für jede der Datenbanken20 . Die Datenbank-Aliasnamen50 beugen dem direkten Benutzerzugriff auf Datenbanken vor, um die Datenintegrität zu wahren und es technisch nicht bewanderten Benutzern zu erlauben, sicher auf Firmendaten zuzugreifen, ohne die Verletzung der Integrität der Daten zu befürchten. Die Datenbank-Aliasnamen dienen auch zum gemeinsamen Nutzen von Verbindungen mit den physischen Datenbanken20 und dadurch zum Reduzieren der Anzahl von Datenbankverbindungen, die erforderlich ist, um eine große Anzahl von Clients110 zu unterstützen. - Dann erzeugt der Systemadministrator in Schritt
206 die vordefinierten Abfragemodelle56 unter Einsatz des Abfragegenerators38 . Die vordefinierten Abfragemodelle56 kontrollieren die Elemente in einer Datenbank20 , auf die ein bestimmter Satz von Benutzern Zugriff erhält. Zusätzlich schränken die vordefinierten Abfragemodelle56 die Abfragentypen ein, die ausgeführt werden können, und definieren das Maximum an Computerressourcen, das zum Ausführen der Abfragen und der zulässigen Verbindungen zwischen Tabellen verwendet werden kann, um unkontrollierten oder bösartigen Abfragen vorzubeugen. - Schritt
206 führt zu dem Ende des Prozesses, durch das der Systemadministrator das Portal für wirtschaftliche Intelligenz10 für den Gebrauch innerhalb eines Unternehmens einrichtet. Als Teil dieses Einrichtungsprozesses wurden Befugnisse und Abfragen für Benutzer definiert, um den Zugriff auf und die Verteilung von Daten innerhalb des Systems zu kontrollieren. -
3 ist ein Flussdiagramm, das ein Verfahren zum Erzeugen der vordefinierten Abfragemodelle56 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Bei dieser Ausführungsform werden spezifizierte Daten innerhalb des Modells automatisch so weit wie möglich verlinkt. Zusätzlich werden Datenbankelemente graphisch für den Systemadministrator angezeigt, um das Erzeugen der Abfragemodelle56 zu erleichtern. - Unter Bezugnahme auf
3 beginnt das Verfahren in Schritt220 , in dem der Abfragegenerator38 automatisch für einen Systemadministrator die Tabellen und Spalten einer Datenbank20 , für die eine Abfrage zu erzeugen ist, identifiziert und anzeigt. Dann wählt der Systemadministrator im darauf folgenden Schritt222 einen Untersatz der Tabellen und Spalten für ein vordefiniertes Abfragemodell56 aus. - Der Abfragegenerator
38 geht weiter zu dem Beschlussfassungsschritt224 und bestimmt, ob die Datenbank20 Full Foreign Key (FK)/Primary Key (PK) Information hat. Full Foreign Key/Primary Key-Information erlaubt es, Daten in getrennten Tabellen automatisch zu verbinden. Wenn die Datenbank20 daher komplette Foreign Key/Primary Key-Information enthält, führt der Ja-Zweig des Entscheidungsschritts224 zum Schritt226 , in dem Child-Tabellen automatisch mit den Parent-Tabellen in dem vordefinierten Abfragemodell56 unter Einsatz von Foreign Key/Primary Key-Information verlinkt werden. Schritt226 führt zu dem Ende des Prozesses. An diesem Punkt kann das vordefinierte Abfragemodell56 gespeichert, werden oder weitere Edits können durch den Systemadministrator ausgeführt werden. - Unter Rückkehr zum Entscheidungsschritt
224 und wenn komplette Foreign Key/Primary Key-Information nicht verfügbar ist, führt der Nein-Zweig des Entscheidungsschritts224 zum Entscheidungsschritt228 . Im Entscheidungsschritt228 bestimmt der Abfragegenerator38 , ob die komplette Primary Key-Information von der Datenbank20 her verfügbar ist. Die Bereitstellung der kompletten Primary Key-Information erlaubt es den Parent- und Child-Tabellen, durch eine Datenbanktabellensuche bestimmt zu werden. Wenn daher komplette Primary Key-Information verfügbar ist, führt der Ja-Zweig des Entscheidungsschritts228 zum Schritt226 , in dem die Datenbanktabellensuche ausgeführt wird, um Parent- und Child-Tabellen zu bestimmen. Nach dem Bestimmen der Parent- und Child-Tabellen, werden sie automatisch verlinkt, um das vordefinierte Abfragemodell56 zu erzeugen. Das vordefinierte Abfragemodell kann dann gespeichert oder von dem Systemadministrator weiter editiert werden. - Unter Rückkehr zum Entscheidungsschritt
228 und wenn komplette Primary Key-Information nicht verfügbar ist, führt. der Nein-Zweig des Entscheidungsschritts228 zum Entscheidungsschritt230 . Im Entscheidungsschritt230 bestimmt der Abfragegenerator ob eindeutige Indexinformation, die Parent- und Child-Tabellen identifizieren kann, von der Datenbank20 verfügbar ist. Wenn solche eindeutige Indexinformation verfügbar ist, führt der Ja-Zweig des Entscheidungsschritts230 zum Schritt226 . Im Schritt226 wird die eindeutige Indexinformation verwendet, um die Datenbank nach Parent- und Child-Tabellen zu durchsuchen. Der Abfragegenerator38 linkt dann automatisch die Child- und Parent-Tabellen, um das vordefinierte Abfragemodell56 zu erzeugen. Das vordefinierte Abfragemodell kann dann gespeichert oder von dem Systemadministrator weiter editiert werden. - Unter Rückkehr zum Entscheidungsschritt
230 und wenn die eindeutige Indexinformation von der Datenbank20 nicht verfügbar ist, führt der Nein-Zweig des Entscheidungsschritts230 zum Schritt232 . In Schritt232 identifiziert der Systemadministrator manuell und linkt Child- und Parent-Tabellen, um das vordefinierte Abfragemodell56 zu erzeugen. Derart werden die vordefinierten Abfragemodelle56 so weit wie möglich automatisch mit minimalem Eingriff des Administrators erzeugt. Es ist klar, dass die Datenbanktabellen und andere Elemente in anderer Art geeignet verlinkt werden können. -
4 ist ein Flussdiagramm, das ein Verfahren zum Ausbreiten und Warten von Clientanwendungen gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Bei dieser Ausführungsform werden die Clientanwendungen zentral verbreitet und von dem Server30 unter Einsatz eines dünnen Boot-Strap-Applets, das ursprünglich zum Downloaden von Javaklassen verwendet wird, die die Clientanwendungen bilden, zu dem Client110 verbreitet und gewartet. Danach erfolgen alle Upgrades der Clientsoftware automatisch durch den Server30 beim Initialisieren einer neuen Session durch den Client110 . Ein Teil der Installations-/Aktualisierungsvorgehensweise umfasst das Downloaden einer Manifest File, in der alle Namen und Versionen aller Module und Ressourcen auf einem Client110 aufgelistet sind. - Unter Bezugnahme auf
4 beginnt das Verfahren in Schritt250 , in dem eine neue Verbindung mit dem Server30 durch den Client110 aufgebaut wird. In Schritt252 überträgt der Boot-Strap-Agent auf dem Client110 die Manifest File des Benutzers zu dem Server30 . - Der Server
30 geht weiter zu Schritt254 und vergleicht die Versionen aller Module und Ressourcen, die in der Manifest File aufgelistet sind, mit aktuellen Versionen der entsprechenden Dateien in dem Server30 . Im Entscheidungsschritt256 bestimmt der Server30 basierend auf dem Vergleich, ob einige oder alle der Module oder Ressourcen veraltet sind. Wenn einige oder alle der Module oder Ressourcen veraltet sind, führt der Ja-Zweig des Entscheidungsschritts256 zum Schritt258 . Im Schritt258 erzeugt der Server30 ein inkrementelles Aktualisieren für den Client110 . Das inkrementelle Aktualisieren umfasst nur die Module, die aktualisiert werden müssen. - Im Schritt
260 überträgt der Server dann das inkrementelle Update zu dem Client110 . Im Schritt262 aktualisiert der Client110 die Anwendungen auf der Client-Seite basierend auf dem inkrementellen Update. In Schritt264 wird dann eine neue Session für den aktualisierten Client110 gestartet. Unter Rückkehr zum Entscheidungsschritt256 und wenn keine der Clientanwendungen veraltet ist, führt der Nein-Zweig des Entscheidungsschritts256 ebenfalls zu dem Schritt264 , in dem eine neue Session gestartet wird. Derart bestimmt der Server30 , welches Modul (oder welche Javaklassen) wenn überhaupt veraltet, fehlend oder obsolet sind, und schiebt dann selektiv die richtigen Module gemeinsam mit einem aktualisierten Manifest zu der Maschine des Benutzers. Die Benutzer brauchen daher die Clientsoftware nie manuell zu aktualisieren und können problemlos zwischen verschiedenen Workstations wechseln, um sich anzumelden, ohne dass ihre Anwendungen und Datendateien auf jeder Station neu installiert werden müssen. Zusätzlich ist die Ausführung des Clients110 schnell und immer aktuell, während die Verwaltung zentral gewartet wird, und der Netzwerkverkehr wird minimiert. -
5 ist ein Flussdiagramm, das ein Verfahren zum Anpassen und Ausführen eines Abfragemodells basierend auf einem vordefinierten Abfragemodell56 gemäß einer Ausführungsform der vorliegenden Erfindung ist. Bei dieser Ausführungsform werden vordefinierte Abfragemodelle56 erzeugt und auf dem Server30 von einem Administrator gewartet und den Benutzern auf Anfrage und nach Prüfen der Zugriffsprivilegien bereitgestellt. - Unter Bezugnahme auf
5 beginnt das Verfahren in Schritt280 , in dem der Server30 eine Anfrage von einem Benutzer nach einem vordefinierten Abfragemodell56 erhält. Dann bestimmt der Server in Schritt282 einen zugänglichen Abschnitt des vordefinierten Abfragemodells56 basierend auf den Privilegien des Benutzers. Der zugängliche Abschnitt ist ein Abschnitt des Abfragemodells56 , den der Benutzer anzeigen kann. Bei einer besonderen Ausführungsform kann der zugängliche Abschnitt des vordefinierten Abfragemodells56 auch der Abschnitt des Abfragemodells sein, der vom Benutzer editiert werden kann. Das Bestimmen des zugänglichen Abschnitts des vordefinierten Abfragemodells56 kann verwirklicht werden, indem die Privilegien des Benutzers in Zusammenhang mit dem Abfragemodell bestimmt und dann der zugängliche Abschnitt basierend auf den Privilegien des Benutzers bestimmt wird. - Beim Bestimmen des zugänglichen Abschnitts des vordefinierten Abfragemodells
56 kann der Server30 auch einen geschützten Abschnitt des vordefinierten Abfragemodells56 bestimmen. Der geschützte Abschnitt ist der restliche oder der andere geeignete Abschnitt des vordefinierten Abfragemodells56 . Wie unten ausführlicher beschrieben, kann der Abfrageverfasser122 den geschützten Abschnitt des vordefinierten Abfragemodells verbergen oder anderswie Edits an dem geschützten Abschnitt des vordefinierten Abfragemodells verhindern. - Dann lädt der Server
30 in Schritt284 das vordefinierte Abfragemodell56 zu dem Client110 herunter. Im Schritt286 zeigt der Anfragenverfasser122 den zugänglichen Abschnitt des vordefinierten Abfragemodells56 für den Benutzer an. Bei einer Ausführungsform zeigt der Abfrageverfasser122 eine graphische Ansicht zugänglicher Datenelemente an, die das vordefinierte Abfragemodell56 definieren. Beim Anzeigen des zugänglichen Abschnitts kann der Abfrageverfasser122 den geschützten Abschnitt des vordefinierten Abfragemodells56 verbergen, um einem Editieren und/oder Anzeigen dieses Abschnitts vorzubeugen. - Der Abfrageverfasser
122 geht weiter zu Schritt288 und empfängt Benutzeredits an dem vordefinierten Abfragemodell56 . Benutzeredits können die Auswahl oder Rückgängigmachung der Auswahl von Datenbankentabellen, Spalten in den Datenbankentabellen und Verbindungen zwischen den Datenbankentabellen enthalten. Dann erzeugt der Abfrageverfasser122 in Schritt290 ein benutzerangepasstes Abfragemodell128 basierend auf Benutzeredits an dem zugänglichen Abschnitt des vordefinierten Abfragemodells56 . Im Schritt292 erfolgt ein Upload des benutzerangepassten Abfragemodells128 zu dem Server30 zur Ausführung. - Im Schritt
294 erzeugt der SQL-Generator74 automatisch eine Datenbankabfrage basierend auf dem benutzerangepassten Abfragemodell128 . Die Datenbankabfrage weist Text-SQL auf, das von dem Verbindungsmanager76 zum Ausführen der Abfrage ausgeführt werden kann. Im Schritt296 empfängt der Server30 die Ergebnisse der Abfrage. Wie oben beschrieben, werden die Abfrageergebnisse anfänglich in dem Server30 durch den Cachemanager42 gespeichert. - Im Entscheidungsschritt
298 und wenn die Abfrage multidimensionale Analyse aufweist, führt der Ja-Zweig des Entscheidungsschritts298 zu Schritt300 , in dem ein multidimensionales Speichermodell100 basierend auf den Ergebnissen erzeugt wird. In Schritt302 wird das multidimensionale Speichermodell100 verwendet, um Pivot-, Drill-Through- und andere Ansichten wie vom Benutzer gefordert zu erzeugen. - Unter Rückkehr zum Entscheidungsschritt
298 und wenn die multidimensionale Analyse nicht angezeigt ist, führt der Nein-Zweig des Entscheidungsschritts298 zu dem Schritt304 , in dem die angeforderten eindimensionalen Ansichten basierend auf den Abfrageergebnissen erzeugt werden. Die Schritte302 und304 führen jeweils zum Entscheidungsschritt306 . Im Entscheidungsschritt306 bestimmt der Server30 , ob das benutzerangepasste Abfragemodell128 für den späteren Gebrauch gespeichert wird. Wenn der Benutzer wünscht, das Abfragemodell128 zu speichern, führt der Ja-Zweig des Entscheidungsschritts306 zu Schritt308 , in dem das Abfragemodell in ein ausgewähltes Portfolio58 des Benutzers oder einer Sicherheitsgruppe58 , zu der der Benutzer Zugang hat, gespeichert. Schritt308 und der Nein-Zweig des Entscheidungsschritts306 führen jeweils zum Entscheidungsschritt310 . - Im Entscheidungsschritt
310 bestimmt der Server30 , ob die Abfrageergebnisse als ein historischer Schnappschuss gespeichert werden sollen. Wenn ein Benutzer entscheidet, die Ergebnisse als einen Schnappschuss zu speichern, führt der Ja-Zweig des Entscheidungsschritts310 zu dem Schritt312 , in dem die Abfrageergebnisse in ein ausgewähltes Portfolio58 gespeichert werden. Schritt312 führt zu dem Ende des Prozesses, durch welchen ein vordefiniertes Abfragemodell56 für einen Benutzer zum Anpassen und Anpassen an benutzerspezifische Anforderungen bereitgestellt wird. Das vordefinierte Abfragemodell56 wird unter Einsatz einer graphischen Ansicht von Datenelementen angezeigt und geändert. Das erleichtert die robuste Datenanalyse durch alle Benutzer und erlaubt es unerfahrenen Benutzern, verfügbare Information effektiv zu nutzen, um die Operationen in ihrem Unternehmen zu verbessern. -
6 ist ein Blockschaltbild, das Details des Abfragemotors80 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Bei dieser Ausführungsform weist der Abfragemotor80 eine Bibliothek mit Datentreibern84 sowie einen intelligenten Datensatz82 auf, der als Reaktion auf eine Abfrageanfrage betrieben werden kann, um aus der Bibliothek erforderliche Datentreiber84 zum Ausführen der Anfrage zu identifizieren. Der intelligente Datensatz82 kann ferner betrieben werden, um die erforderliche Reihenfolge der Datentreiber84 zum Ausführen der Anfrage zu bestimmen, eine Treiberkette zu erzeugen, die die erforderlichen Datentreiber in der erforderlichen Reihenfolge enthält, und die Datentreiber84 in der Treiberkette in der Reihenfolge auszuführen. - Unter Bezugnahme auf
6 erzeugt der intelligente Datensatz82 eine Treiberkette320 als Reaktion auf eine Abfrageanfrage. Die Treiberkette320 enthält Datentreiber322 , die erforderlich sind, um die verlangte Anfrage durchzuführen. Die Datentreiber322 werden dynamisch aus der Bibliothek verfügbarer Datentreiber84 ausgewählt und von dem intelligenten Datensatz82 basierend auf der Abfrageanfrage geordnet. Bei einer Ausführungsform werden die Datentreiber84 in der Bibliothek von einer Basisklasse abgeleitet, für die alle Schnittstellenverfahren den nächsten Treiber in der Kette abrufen. Bei dieser Ausführungsform hat jeder Datentreiber eine Kettenpriorität zum Platzieren in einer gleichen relativen Position innerhalb der Kette320 . Wie hier verwendet, bedeutet der Begriff jeder jeden einzelnen mindestens eines Untersatzes der identifizierten Elemente. - Für die veranschaulichte Ausführungsform umfasst die Treiberkette
320 die Datentreiber D1, D2, D3 und D4. Der Datentreiber D1 führt einen Datenbankabrufvorgang auf, der die verlangten Aufzeichnungen zurückgibt. Die zurückgegebenen Aufzeichnungen werden dann von dem Datentreiber D2 sortiert und von dem Datentreiber D3 indexiert. Der Datentreiber D4 führt dann die verlangte Suche an den sortierten und indexierten Datenaufzeichnungen aus. Derart verwendet der modulare Abfragemotor80 genormte Zugriffsverfahren zum Ausführen der Datenbankabfragen. Das Portal10 braucht daher nicht für besondere Datenbankabfragen angepasst zu werden, und die Kosten zum Bereitstellen und Warten des Portals10 für wirtschaftliche Intelligenz werden verringert. -
7 ist ein Flussdiagramm, das den Betrieb des modularen Abfragemotors80 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Unter Bezugnahme auf7 beginnt das Verfahren in Schritt340 , in dem eine Abfrageanfrage von dem intelligenten Datensatz82 empfangen wird. In Schritt342 wählt der intelligente Datensatz82 dann dynamisch Datentreiber84 , die zum Ausführen der Abfrageanfrage erforderlich sind, aus der Bibliothek aus. - In Schritt
344 bestimmt der intelligente Datensatz82 die Reihenfolge der Datentreiber84 , die zum Ausführen der Anfrage erforderlich ist. In Schritt346 baut der intelligente Datensatz82 dynamisch eine Treiberkette auf, die die erforderlichen Datentreiber in der erforderlichen Reihenfolge zum Ausführen der Datenabfrage aufweist. - Dann führt der intelligente Datensatz in Schritt
348 die Treiberkette aus, um die Abfrageanfrage auszuführen. Innerhalb der Treiberkette werden die Datensätze82 in der Reihenfolge ausgeführt, wobei jeder einen nächsten Treiber84 in der Kette nach dem Abschluss seiner eigenen Ausführung abruft. Der Abfragemotor80 und der Datensatz82 sind daher von der Anwendung unabhängig und können leicht geändert werden, um neue Funktionalitäten zu unterstützen, indem Datentreiber84 zu der Bibliothek hinzugefügt und die intelligenten Datensätze82 gemäß ihrer Funktionalität programmiert werden. -
8 ist ein Blockschaltbild, das Details eines multidimensionalen Speichermoduls100 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Bei dieser Ausführungsform verwendet das Speichermodell100 eine nicht sparse Architektur, um die Größe jedes Modells100 zu minimieren. Zusätzlich verwendet das Speichermodell100 eine offene Architektur, um es zu erlauben, Berechnungen dynamisch nach dem Aufbauen des Modells100 auszuführen. - Unter Bezugnahme auf
8 weist das multidimensionale Speichermodell100 einen Slot360 für jede Dimension und einen Slot362 für eine berechnete Dimension auf. Die dimensionalen Slots360 enthalten Einträge und dazugehörende Datenwerte, die aus der Datenbank extrahiert werden, während die Slots362 der berechneten Dimension Daten enthalten, die basierend auf extrahierten Daten berechnet werden. - Für die veranschaulichte Ausführungsform enthält jeder Dimensions-Slot
360 einen Einträgespeicher370 und einen Dimensionsspeicher372 . Der Einträgespeicher370 enthält einen Satz nicht sparser Einträge374 für die entsprechende Dimension. Vorzugsweise sind nur nicht sparse Einträge enthalten. Die Einträge374 stellen kombinatorische dimensionale Werte dar und jeder identifiziert einen dazugehörenden Datenwert376 . Bei einer Ausführungsform enthält jeder Eintrag374 einen Pointer auf einen dazugehörenden Datenwert376 . Alternativ können die Datenwerte376 gemeinsam mit den Einträgen374 in dem Einträgespeicher378 gespeichert werden. Der Gebrauch von Pointern und getrennter Speicherung der Datenwerte376 verbessert jedoch die Effizienz und die Verarbeitungsgeschwindigkeit des multidimensionalen Speichermodells100 . - Der Dimensionsspeicher
372 enthält Datenwerte376 , die mit Einträgen374 in dem Einträgespeicher370 verbunden sind. Die Datenwerte376 stellen eindeutige dimensionale Werte für jede Dimension dar. - Ein Satz interdimensionaler Links
380 wird für jeden nicht sparsen Eintrag374 bereitgestellt. Jede interdimensionale Link identifiziert eine Schnittstelle zwischen nicht sparsen Einträgen374 in verschiedenen dimensionalen Slots360 . Der Satz interdimensionaler Links380 enthält einen oder mehrere interdimensionale Links. Bei einer Ausführungsform sind die interdimensionalen Links380 bidirektional, um effizientes Durchqueren zwischen den dimensionalen Slots360 in jede Richtung ausgehend von einem Eintragspunkt zu erlauben. - Die interdimensionalen Links
380 identifizieren kollektiv alle Schnittstellen zwischen nicht sparsen Eingaben374 in den dimensionalen Slots360 . Alle Schnittstellen, die nicht gespeicherte leere Schnittstellen aufweisen, können daher aus den nicht sparsen Eingaben374 und dem Durchqueren der interdimensionalen Links380 bestimmt werden. Insbesondere wird eine Null-Schnittstelle zwischen Datenbankeinträgen in einer ersten und einer zweiten Dimension durch das Fehlen von Datenbankeinträgen in dem Modell oder das Fehlen interdimensionaler Links380 , die den Eintrag374 in der ersten Dimension mit dem Eintrag in der zweiten Dimension verbinden, bestimmt. Nicht sparse Schnittstellen zwischen Einträgen374 in einer ersten und einer zweiten Dimension werden durch Durchqueren der interdimensionalen Links380 von dem spezifizierten Eintrag in der ersten Dimension zu dem spezifizierten Eintrag in der zweiten Dimension bestimmt und dann durch Erzielen des Datenwerts376 , der mit dem Eintrag374 in der zweiten Dimension verbunden ist. Die Daten und Information, die durch Durchqueren des interdimensionalen Speichermodells100 erzielt werden, werden zur weiteren Verarbeitung wie unten ausführlicher beschrieben ausgegeben. - Die berechnete Dimension
362 enthält einen Satz berechneter Werte382 . Die berechneten Werte382 sind Werte, die aus vordefinierten Berechnungen abgeleitet werden, die von einem Benutzer gleichzeitig mit dem multidimensionalen Speichermodell100 verlangt werden. Während das multidimensionale Speichermodell100 daher eine offene Architektur bereitstellt, um Berechnungen nach seinem Anlegen zu erlauben, werden gleichzeitige Berechnungen, die von dem Benutzer mit dem Modell verlangt werden, vorberechnet und gespeichert, um das Verarbeiten nach dem Anlegen des Modells100 zu minimieren und die Geschwindigkeit der multidimensionalen Analyse zu verbessern. -
9 ist ein Blockschaltbild, das beispielhafte Daten400 und ein beispielhaftes multidimensionales Speichermodell402 für die beispielhaften Daten400 veranschaulicht. Unter Bezugnahme auf9 enthalten die beispielhaften Daten400 Dimensionen C1 und C2 und eine berechnete Dimension C3. Die Dimension C1 enthält eindeutige Eintragswerte A, B und C, während die Dimension C2 eindeutige Eintragswerte D, E, F, G und H enthält. Die berechnete Dimension C3 enthält berechnete Datenwerte 1, 2, 3, 4, 5 und 6, die verschiedenen vordefinierten Berechnungen entsprechen. - Das beispielhafte Speichermodell
402 enthält dimensionale Slots404 für Dimensionen C1 und C2 und den berechneten dimensionalen Slot406 für die berechnete Dimension C3. In dem dimensionalen Slot404 von C1 enthält der dimensionale Speicher410 eindeutige dimensionale Werte A, B und C. Der Einträgespeicher412 enthält Einträge, mit welchen die Datenwerte verbunden sind, und Pointer zu den Datenwerten. In ähnlicher Weise enthält der dimensionale Slot404 für C2 eindeutige Datenwerte D, E, F, G und H in dem dimensionalen Speicher414 . Der Einträgespeicher416 enthält Einträge, die mit Datenwerten verbunden sind, und Pointer zu den Datenwerten. Interdimensionale Links420 identifizieren Schnittstellen zwischen Einträgen und daher Daten in den Dimensionen C1 und C2. Die berechnete Dimension406 enthält berechnete Datenwerte 1, 2, 3, 4, 5 und 6, die mit vordefinierten Schnittstellen von Daten in den Dimensionen C1 und C2 verbunden sind. - Aus dem beispielhaften Speichermodell
402 kann zum Beispiel bestimmt werden, dass sich die Eintragswerte A und D in den Dimensionen C1 und C2 dadurch schneiden, dass sie durch interdimensionale Links420 verbunden sind. Es kann ferner bestimmt werden, dass sich die Eintragswerte C und D nicht schneiden, da sie nicht durch interdimensionale Links420 verbunden sind. Einträge sind durch interdimensionale Links verbunden, wenn ein Link oder eine Reihe interdimensionaler Links die Einträge verbinden. -
10 ist ein Flussdiagramm, das ein Verfahren zum Erzeugen und Verwenden des multidimensionalen Speichermodells100 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Unter Bezugnahme auf10 beginnt das Verfahren in Schritt440 , in dem das multidimensionale Speichermodell100 durch den Manager44 für multidimensionales Modell als Reaktion auf eine Abfrageanfrage erzeugt wird und auf Ergebnissen der Abfrageanfrage beruht. Die Abfrageanfrage spezifiziert die Dimensionen und Datendimensionen für das multidimensionale Speichermodell100 . - Bei einer Ausführungsform erzeugt der Manager
44 für multidimensionales Modell das multidimensionale Speichermodell100 , indem er zuerst Datenaufzeichnungen von der Quelle holt. Für jede Datenaufzeichnung werden dann die dimensionalen Werte und die Datenwerte geholt. Dann bestimmt der Manager44 für multidimensionales Modell für jeden dimensionalen Wert einer Datenaufzeichnung, ob der dimensionale Wert in dem Einträgespeicher370 gegenwärtig ist, und in diesem Fall kann er verwendet werden. Ist der dimensionale Wert nicht in dem Einträgespeicher370 gegenwärtig, wird ein Eintrag374 für den dimensionalen Wert in dem Einträgespeicher370 angelegt, und der entsprechende Datenwert376 wird in dem Dimensionsspeicher372 gespeichert. In beiden Fällen werden die Dimensionen dann von links nach rechts durchquert, um interdimensionale Links380 für die Einträge374 in dem Einträgespeicher370 anzulegen. Existierende Links werden wieder verwendet, während fehlende Links angelegt werden. Zusätzlich und für die Dimension am weitesten rechts werden von dem Manager44 für multidimensionales Modell geholte Datenwerte für die Aufzeichnung hinzu gefügt. Es ist klar, dass das multidimensionale Speichermodell100 anderswie geeignet erzeugt werden kann. - Nach dem Erzeugen des multidimensionalen Speichermodells
100 geht man von Schritt440 zu Schritt442 weiter. In Schritt442 empfängt der Manager44 für multidimensionales Modell eine Ansichtanfrage für einen Untersatz der spezifizierten Dimensionen und/oder Datendimensionen. Dann bestimmt der Manager44 für multidimensionales Modell in Schritt444 die Durchquerungen, die erforderlich sind, um die Ansicht aus dem Speichermodell100 zu erzeugen und einen Startpunkt für jede Durchquerung. Die Durchquerungen werden von den spezifizierten Dimensionen definiert, und der Startpunkt wird auf Eintrag basierend darauf bestimmt, wie das Modell100 organisiert ist. - Bei einer Ausführungsform holt der Manager
44 für multidimensionales Modell eine erste und eine nächste Aufzeichnung unter Einsatz einer rekursiven Bewegung von unten nach oben und rechts nach links aus dem multidimensionalen Speichermodell100 . Bei dieser Ausführungsform positioniert der Manager44 für multidimensionales Modell zum Holen der ersten Aufzeichnung eine erste Dimension, die zum Anzeigen ausgewählt wird, auf den ersten Einträgespeicherwert. Danach werden alle Parent-Einträge, nämlich die links von dem ersten Eintrag, auf ihren ersten Einträgespeicherwert positioniert. Child-Einträge, die rechts von der ausgewählten Dimension liegen, werden ebenfalls auf ihren ersten Eintragssteuerwert positioniert. Für die erste Aufzeichnung holt der Manager44 für multidimensionales Modell dann Werte für dimensionale Einträge an diesen Positionen. Zum Holen der nächsten Aufzeichnung versucht der Manager44 für multidimensionales Modell, den am weitesten rechts liegenden Child-Eintrag in der Ansicht zu bewegen. Lässt sich der am weitesten rechts liegende Child-Eintrag bewegen, wird er neu positioniert, und die Datenwerte werden an den laufenden Positionen innerhalb des multidimensionalen Speichermo dells100 geholt. Lässt sich der am weitesten rechts liegende Child-Eintrag nicht bewegen, versucht der Manager44 für multidimensionales Modell, den Parent-Eintrag dieses Child-Eintrags zu bewegen, nämlich den Eintrag unmittelbar links von dem Child-Eintrag. Lässt sich der Parent-Eintrag bewegen, wird er neu positioniert und die Datenwerte werden an ihren laufenden Positionen in dem multidimensionalen Speichermodell100 geholt. Lässt sich der Parent-Eintrag nicht bewegen, wird versucht, den Parent-Eintrag dieses Parent-Eintrags zu bewegen, nämlich den Eintrag unmittelbar links neben dem ersten Parent-Eintrag, und der Vorgang wird wiederholt, bis keine Parent-Einträge verbleiben. In diesem Zeitpunkt ist das Ende des Prozesses erreicht. Es ist klar, dass die Durchquerungen und Startpunkte innerhalb des multidimensionalen Speichermodells100 anderswie geeignet bestimmt werden können. - Man geht weiter zu Schritt
446 und der Manager44 für multidimensionales Modell durchquert das multidimensionale Speichermodell100 von dem Eintragspunkt über verbindende multidimensionale Links380 , um die Existenz und/oder den Wert an einer spezifizierten Schnittstelle zu bestimmen. In Schritt448 bestimmt das multidimensionale Speichermodell100 jeden Wert an der spezifizierten Schnittstelle. Dann bestimmt der Manager44 für multidimensionales Modell in Schritt448 , ob zusätzliche Durchquerungen für das Modell100 existieren. Existieren zusätzliche Durchquerungen, kehrt der Ja-Zweig des Entscheidungsschritts450 zu Schritt446 zurück und die restlichen Durchquerungen werden ausgeführt und die Schnittstellenwerte werden berechnet, bis alle Durchquerungen abgeschlossen sind. Der Nein-Zweig des Entscheidungsschritts450 führt dann zu Schritt452 . - In Schritt
452 werden Daten und Information, die aus dem multidimensionalen Speichermodell100 ausgegeben werden, summiert und sortiert. Es ist klar, dass das multidimensionale Speichermodell anderswie konfiguriert werden kann, um die Daten vorzusortieren und zusammenzufassen. Durch Trennen der Durchquerungsoperation von dem Zusammenfassen und Sortieren wird jedoch die Verarbeitungseffizienz verbessert. - Dann wird in Schritt
454 die Informationsausgabe aus dem multidimensionalen Speichermodell100 graphisch für den Benutzer in einer geforderten Ansicht von den Viewern124 auf dem Client110 angezeigt. Der Prozess geht weiter zu dem Entscheidungsschritt456 , wenn zusätzliche Ansichten verlangt werden, der Ja-Zweig kehrt zu Schritt442 zurück, in dem die Ansichtsanfrage und spezifizierten Dimensionen empfangen werden, und der Prozess wird wiederholt, bis alle verlangten Ansichten abgeschlossen und für den Benutzer angezeigt wurden. In diesem Punkt führt der Nein-Zweig des Entscheidungsschritts456 zu dem Ende des Prozesses. Derart stellt das Portal10 für wirtschaftliche Intelligenz ein multidimensionales Speichermodell100 mit verringerter Größe und verbesserten Verarbeitungsgeschwindigkeiten bereit, das effizient Pivot- und Drill-Operationen während der Datenanalyse unterstützt. Zusätzlich kann ein Benutzer neue Berechnungen anlegen, um Datenschnittstellen zu analysieren, die während der Originaldefinition des Modells nicht vorweggenommen wurden. Das verringert den Zeit- und Ressourcenaufwand, der zum Unterstützen von Pivot- und Drill-Operationen erforderlich ist. Die zusätzlichen Ansichten können Pivot-Ansichten und Daten-Drilling für Analyse mit hoher und niedriger Ebene enthalten. -
11 ist ein Bildschirmdiagramm, das eine Anzeige des dazugehörenden Fensters480 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Unter Bezugnahme auf11 weist das Anzeigefenster480 eine Menüleiste486 auf, die mehrere Pulldown-Menüs488 enthält, die entlang einer oberen Kante des Anzeigefensters480 angeordnet sind. Eine Toolsleiste490 ist unmittelbar unter der Menüleiste486 angeordnet. - Das Anzeigefenster
480 enthält ferner ein Katalogfenster492 und ein Portfoliofenster494 neben dem Katalogfenster492 . Das Katalogfenster492 zeigt eine Dateihierarchie innerhalb des Katalogs332 an. Das Portfoliofenster494 zeigt die Ansichten an, die durch das Aktionsportfolio verlinkt sind. - Innerhalb des Portfoliofensters
494 wird jede der Ansichten getrennt in einem getrennten Anzeigefenster496 angezeigt. Das Speichern der Ansichten in getrennten Dateien, die durch das Portfolio verlinkt sind, und das Anzeigen der dazugehörenden Ansichten innerhalb des Portfoliofensters494 erlauben es, verwandte Dokumente leicht miteinander zu organisieren und effizient für einen Benutzer anzuzeigen. Insbesondere stellt das Portfoliofenster494 ein gemeinsames Fenster mit einer Single Data Interface (SDI) bereit. Die getrennten Anzeigefenster496 werden innerhalb des gemeinsamen Fensters in einer Multiple Data Interface (MDI) angezeigt. Es ist klar, dass andere Typen verwandter Komponenten getrennt gespeichert und miteinander zum Anzeigen durch eine Verbunddatei verlinkt werden können. -
12 ist ein Bildschirmdiagramm, das ein Anzeigefenster500 veranschaulicht, das Anzeigeschaltflächen zum Navigieren zwischen zusammengehörenden Anzeigen in einem Portfolio gemäß einer Ausführungsform der vorliegenden Erfindung enthält. Unter Bezugnahme auf12 enthält das Anzeigefenster500 eine Menüleiste502 mit mehreren Pulldown-Menüs504 , die entlang einer Oberkante des Anzeigefensters500 angeordnet sind. Eine Toolsleiste506 ist unmittelbar unter der Menüleiste502 angeordnet. Das Anzeigefenster500 enthält ein Katalogfenster508 und ein Portfoliofenster510 , wie oben in Zusammenhang mit dem Katalogfenster492 und dem Portfoliofenster494 beschrieben. - Bei der veranschaulichten Ausführungsform sind die Ansichtfenster
512 mit dem Portfoliofenster510 maximiert, um ein optimiertes Ansehen bereitzustellen. Um das Navigieren zwischen den maximierten Fenstern zu erlauben, werden Ansichtschaltflächen514 als Reaktion auf das Maximieren eines Fensters512 bereitgestellt und als Registerreiter an einer Oberkante des Portfoliofensters510 angezeigt. Die Ansichtschaltflächen514 können jeweils bedient werden, um ein dazugehörendes Fenster512 als das aktive Fenster als Reaktion auf das Aktivieren anzuzeigen. Das erlaubt es dem Benutzer, schnell und einfach zwischen Fenstern zu navigieren. Die Benutzer brauchen daher nicht ständig Fenster zu bewegen, schließen, öffnen und neu zu dimensionieren, um verwandte Daten anzusehen, die in getrennten Dateien gespeichert sind. Die Ansichtschaltflächen können anderswie angezeigt oder als Reaktion auf andere geeignete Ereignisse erzeugt werden. Die Ansichtschaltflächen können zum Beispiel jedes Mal erzeugt werden, wenn ein erstes Fenster zumindest wesentlich von der Anzeige durch ein darüber liegendes Fenster verborgen wird. Sobald ein Benutzer anzeigt, dass ein Fenster maximiert, positioniert oder angezeigt werden sollte, um ein Fenster zu verdecken, kann eine Ansichtschaltfläche514 für das abzudeckende Fenster erzeugt werden. Die Ansichtschaltflächen514 können unabhängig von einem entsprechenden Fenster positioniert werden. Sie können daher neben oder entfernt von einem entsprechenden Fenster angezeigt werden. - Obwohl die vorliegende Erfindung mit mehreren Ausführungsformen beschrieben wurde, können für den Fachmann verschiedene Änderungen und Modifikationen vorgeschlagen werden. Die vorliegende Erfindung soll alle solche Änderungen und Modifikationen, die in den Geltungsbereich der anliegenden Ansprüche fallen, enthalten.
Claims (22)
- Verfahren zum Erzeugen von Datenbankabfragen, das Folgendes aufweist: Speichern eines vordefinierten Abfragemodells (
56 ) zum Abfragen einer Datenbank (20 ), dadurch gekennzeichnet, dass das Verfahren ferner Folgendes aufweist: Anzeigen (286 ) eines zugänglichen Abschnitts des vordefinierten Abfragemodells (56 ) für einen Benutzer, Empfangen (288 ) von Benutzeredits an dem zugänglichen Abschnitt des vordefinierten Abfragemodells (56 ); Erzeugen (290 ) eines an den Benutzer angepassten Abfragemodells (128 ) basierend auf Benutzeredits an dem zugänglichen Abschnitt des vordefinierten Abfragemodells (56 ), und Auslösen einer Abfrage der Datenbank (20 ) basierend auf dem benutzerangepassten Abfragemodell (128 ). - Verfahren nach Anspruch 1, wobei das Anzeigen (
286 ) des zugänglichen Teils des vordefinierten Abfragemodells (56 ) das Anzeigen einer grafischen Ansicht von zugänglichen Datenelementen aufweist, die das vordefinierte Abfragemodell (56 ) definieren. - Verfahren nach Anspruch 1, wobei die grafische Ansicht zugänglicher Datenelemente zugängliche Tabellen, Spalten in den Tabellen und Verbindungen zwischen den Tabellen aufweist.
- Verfahren nach Anspruch 1, das ferner Folgendes aufweist: Empfangen (
280 ) einer Anfrage von dem Benutzer für das vordefinierte Abfragemodell (56 ); Bestimmen von Privilegien des Benutzers für das vordefinierte Abfragemodell (56 ), und Bestimmen (282 ) des zugänglichen Abschnitts des vorde finierten Abfragemodells (56 ) basierend auf den Privilegien des Benutzers. - Verfahren nach Anspruch 1, das ferner das Anzeigen nur des zugänglichen Abschnitts des vorbestimmten Abfragemodells (
56 ) für den Benutzer aufweist. - Verfahren nach Anspruch 1, das ferner Folgendes aufweist: Empfangen einer Abfrage (
280 ) von dem Benutzer für das vorbestimmte Abfragemodell (56 ), Bestimmen von Privilegien des Benutzers für das vorbestimmte Abfragemodell, Bestimmen eines geschützten Abschnitts des vordefinierten Abfragemodells (56 ) basierend auf den Privilegien des Benutzers, und Verbergen des geschützten Abschnitts des vordefinierten Abfragemodells (56 ) vor dem Anzeigen für den Benutzer. - Verfahren nach Anspruch 1, das ferner Folgendes aufweist: Empfangen (
280 ) einer Anfrage von dem Benutzer für das vorbestimmte Abfragemodell (56 ), Bestimmen von Privilegien für den Benutzer für das vorbestimmte Abfragemodell (56 ), Bestimmen eines geschützten Abschnitts des vorbestimmten Abfragemodells (56 ) basierend auf den Privilegien des Benutzers, und Verbieten von Edits an dem geschützten Abschnitt des vorbestimmten Abfragemodells (56 ) durch den Benutzer. - Verfahren nach Anspruch 1, wobei das benutzerangepasste Abfragemodell (
128 ) Datenbanktabellenverbindungen aufweist, die im Vergleich zu dem vorbestimmten Abfragemodell (56 ) modifiziert sind. - Verfahren nach Anspruch 1, wobei das benutzerangepasste Abfragemodell (
128 ) eine Datenbanktabelle aufweist, die in dem vordefinierten Abfragemodell (56 ) fehlt. - Verfahren nach Anspruch 1, das ferner Folgendes aufweist: Empfangen einer Anfrage von dem Benutzer zum Editieren des vorbestimmten Abfragemodells (
56 ), und Anzeigen für den Benutzer einer grafischen Ansicht mindestens eines zugänglichen Abschnitts von Datenelementen in der Datenbank (20 ). - Verfahren nach Anspruch 1, das ferner Folgendes aufweist: Automatisches Erzeugen (
294 ) einer Datenbankabfrage basierend auf dem benutzerangepassten Abfragemodell, und Auslösen der Datenbankabfrage. - System zum Erzeugen von Datenbankabfragen, das Folgendes aufweist: Mittel zum Speichern eines vorbestimmten Abfragemodells (
56 ) zum Abfragen einer Datenbank (20 ), dadurch gekennzeichnet, dass das System ferner Folgendes aufweist: Mittel zum Anzeigen an einem Client eines zugänglichen Abschnitts des vordefinierten Abfragemodells (56 ) für einen Benutzer, Mittel zum Empfangen von Benutzeredits von dem Client an dem zugänglichen Abschnitt des vordefinierten Abfragemodells (56 ), Mittel zum Erzeugen eines benutzerangepassten Abfragemodells (128 ) basierend auf Benutzeredits an dem zugänglichen Abschnitt des vorbestimmten Abfragemodells und Mittel zum Auslösen einer Abfrage der Datenbank (20 ) basierend auf dem benutzerangepassten Abfragemodell (128 ). - System nach Anspruch 12, wobei das Mittel zum Anzeigen des zugänglichen Abschnitts des vorbestimmten Abfragemodells (
56 ) Mittel zum Anzeigen einer grafischen Ansicht zugänglicher Datenelemente aufweist, die das vordefinierte Abfragemodell (56 ) definieren. - System nach Anspruch 12, wobei die grafische Ansicht zugänglicher Datenelemente zugängliche Tabellen, Spalten in den Tabellen und Verbindungen zwischen Tabellen aufweist.
- System nach Anspruch 12, das ferner Folgendes aufweist: Mittel zum Bestimmen von Privilegien des Benutzers für das vorbestimmte Abfragemodell (
56 ), und Mittel zum Bestimmen des zugänglichen Abschnitts des vorbestimmten Abfragemodells (56 ) basierend auf den Privilegien des Benutzers. - System nach Anspruch 12, wobei das System eingerichtet ist, um für den Benutzer nur den zugänglichen Abschnitt des vordefinierten Abfragemodells (
56 ) anzuzeigen. - System nach Anspruch 12, das ferner Folgendes aufweist: Mittel zum Bestimmen von Privilegien des Benutzers für das vordefinierte Abfragemodell (
56 ), Mittel zum Bestimmen eines geschützten Abschnitts des vordefinierten Abfragemodells (56 ) basierend auf den Privilegien des Benutzers, und Mittel zum Verbergen des geschützten Abschnitts des vordefinierten Abfragemodells (56 ) gegen Anzeigen für den Benutzer. - System nach Anspruch 12, das ferner Folgendes aufweist: Mittel zum Bestimmen von Privilegien des Benutzers für das vorbestimmte Abfragemodell (
56 ), Mittel zum Bestimmen eines geschützten Abschnitts des vorbestimmten Abfragemodells (56 ) basierend auf den Privilegien des Benutzers, und Mittel zum Verbieten von Edits an dem geschützten Abschnitt des vorbestimmten Abfragemodells (56 ) durch den Benutzer. - System nach Anspruch 12, wobei das benutzerangepasste Abfragemodell (
128 ) Datenbanktabellenverbindungen aufweist, die im Vergleich zum vordefinierten Abfragemodell (56 ) modifiziert sind. - System nach Anspruch 12, wobei das benutzerangepasste Abfragemodell (
128 ) eine Datenbanktabelle aufweist, die in dem vorbestimmten Abfragemodell (56 ) fehlt. - System nach Anspruch 12, das ferner Folgendes aufweist: Mittel zum Empfangen einer Anfrage von dem Benutzer zum Editieren des vorbestimmten Abfragemodells (
56 ), und Mittel zum Anzeigen für den Benutzer einer grafischen Ansicht mindestens eines zugänglichen Abschnitts von Datenelementen in der Datenbank (20 ). - System nach Anspruch 12, das ferner Folgendes aufweist: Mittel zum automatischen Erzeugen (
74 ) einer Datenbankabfrage basierend auf dem benutzerangepassten Abfragemodell (128 ) und Mittel zum Auslösen (76 ) der Datenbankabfrage.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/364,596 US6581054B1 (en) | 1999-07-30 | 1999-07-30 | Dynamic query model and method |
US364596 | 1999-07-30 | ||
PCT/US2000/020692 WO2001009768A2 (en) | 1999-07-30 | 2000-07-28 | Dynamic query model and method |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60036303D1 DE60036303D1 (de) | 2007-10-18 |
DE60036303T2 true DE60036303T2 (de) | 2008-05-29 |
Family
ID=23435231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60036303T Expired - Lifetime DE60036303T2 (de) | 1999-07-30 | 2000-07-28 | Methode und modell für dynamische anfragen |
Country Status (13)
Country | Link |
---|---|
US (1) | US6581054B1 (de) |
EP (1) | EP1228448B1 (de) |
JP (1) | JP2003519418A (de) |
KR (1) | KR20020039329A (de) |
CN (1) | CN1399746A (de) |
AT (1) | ATE372556T1 (de) |
AU (1) | AU768084B2 (de) |
BR (1) | BR0012826A (de) |
CA (1) | CA2380040A1 (de) |
DE (1) | DE60036303T2 (de) |
IL (1) | IL147833A0 (de) |
WO (1) | WO2001009768A2 (de) |
ZA (1) | ZA200200533B (de) |
Families Citing this family (117)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408292B1 (en) * | 1999-08-04 | 2002-06-18 | Hyperroll, Israel, Ltd. | Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions |
US6385604B1 (en) | 1999-08-04 | 2002-05-07 | Hyperroll, Israel Limited | Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements |
JP3578266B2 (ja) * | 2000-01-06 | 2004-10-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アプリケーションの起動方法、アプリケーションの起動のためのソフトウエア・プロダクト |
US20020029207A1 (en) | 2000-02-28 | 2002-03-07 | Hyperroll, Inc. | Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein |
US20010047387A1 (en) * | 2000-03-27 | 2001-11-29 | Exoplex, Inc. | Systems and methods for providing distributed cross-enterprise portals |
US7167859B2 (en) * | 2000-04-27 | 2007-01-23 | Hyperion Solutions Corporation | Database security |
US7082427B1 (en) | 2000-05-24 | 2006-07-25 | Reachforce, Inc. | Text indexing system to index, query the archive database document by keyword data representing the content of the documents and by contact data associated with the participant who generated the document |
US7120629B1 (en) | 2000-05-24 | 2006-10-10 | Reachforce, Inc. | Prospects harvester system for providing contact data about customers of product or service offered by business enterprise extracting text documents selected from newsgroups, discussion forums, mailing lists, querying such data to provide customers who confirm to business profile data |
US7003517B1 (en) * | 2000-05-24 | 2006-02-21 | Inetprofit, Inc. | Web-based system and method for archiving and searching participant-based internet text sources for customer lead data |
US7096220B1 (en) | 2000-05-24 | 2006-08-22 | Reachforce, Inc. | Web-based customer prospects harvester system |
US6704740B1 (en) * | 2000-08-10 | 2004-03-09 | Ford Motor Company | Method for analyzing product performance data |
US7330850B1 (en) | 2000-10-04 | 2008-02-12 | Reachforce, Inc. | Text mining system for web-based business intelligence applied to web site server logs |
US7043531B1 (en) | 2000-10-04 | 2006-05-09 | Inetprofit, Inc. | Web-based customer lead generator system with pre-emptive profiling |
US7499948B2 (en) * | 2001-04-16 | 2009-03-03 | Bea Systems, Inc. | System and method for web-based personalization and ecommerce management |
US6993518B2 (en) * | 2001-05-24 | 2006-01-31 | International Business Machines Corporation | Method and system for systematically diagnosing data problems in a database |
US7392546B2 (en) | 2001-06-11 | 2008-06-24 | Bea Systems, Inc. | System and method for server security and entitlement processing |
US20030009448A1 (en) * | 2001-06-14 | 2003-01-09 | Covington Robert C. | Method and apparatus for providing user-specific response |
US7720842B2 (en) * | 2001-07-16 | 2010-05-18 | Informatica Corporation | Value-chained queries in analytic applications |
US7080066B1 (en) | 2001-08-09 | 2006-07-18 | Ncr Corporation | Systems and methods for refining a decision-making process via executable sequences |
US7174342B1 (en) * | 2001-08-09 | 2007-02-06 | Ncr Corp. | Systems and methods for defining executable sequences to process information from a data collection |
US7672924B1 (en) | 2001-08-09 | 2010-03-02 | Teradata Us, Inc. | Systems and methods for generating information from a data collection to support decision-making |
US7251693B2 (en) * | 2001-10-12 | 2007-07-31 | Direct Computer Resources, Inc. | System and method for data quality management and control of heterogeneous data sources |
EP1442397A4 (de) * | 2001-10-24 | 2006-11-15 | Bea Systems Inc | Datensynchronisation |
US7552135B2 (en) * | 2001-11-15 | 2009-06-23 | Siebel Systems, Inc. | SQL adapter business service |
AUPR894801A0 (en) * | 2001-11-20 | 2001-12-13 | Unisearch Limited | A system and method for searching data sources |
KR20030054110A (ko) * | 2001-12-24 | 2003-07-02 | 한국전자통신연구원 | 다중 자바 데이터베이스 연결 캐쉬 시스템 및 그 방법 |
US8244702B2 (en) * | 2002-02-26 | 2012-08-14 | International Business Machines Corporation | Modification of a data repository based on an abstract data representation |
US6996558B2 (en) | 2002-02-26 | 2006-02-07 | International Business Machines Corporation | Application portability and extensibility through database schema and query abstraction |
US7725560B2 (en) | 2002-05-01 | 2010-05-25 | Bea Systems Inc. | Web service-enabled portlet wizard |
WO2003093964A1 (en) * | 2002-05-01 | 2003-11-13 | Bea Systems, Inc. | Enterprise application platform |
US7447687B2 (en) * | 2002-05-10 | 2008-11-04 | International Business Machines Corporation | Methods to browse database query information |
KR100514139B1 (ko) * | 2002-11-30 | 2005-09-08 | 삼성에스디에스 주식회사 | Odbc에 보안기능을 적용한 쿼리 방법 및 그 장치 |
US7181450B2 (en) | 2002-12-18 | 2007-02-20 | International Business Machines Corporation | Method, system, and program for use of metadata to create multidimensional cubes in a relational database |
US7716167B2 (en) * | 2002-12-18 | 2010-05-11 | International Business Machines Corporation | System and method for automatically building an OLAP model in a relational database |
US7953694B2 (en) * | 2003-01-13 | 2011-05-31 | International Business Machines Corporation | Method, system, and program for specifying multidimensional calculations for a relational OLAP engine |
US7653930B2 (en) | 2003-02-14 | 2010-01-26 | Bea Systems, Inc. | Method for role and resource policy management optimization |
US7591000B2 (en) * | 2003-02-14 | 2009-09-15 | Oracle International Corporation | System and method for hierarchical role-based entitlements |
US8831966B2 (en) | 2003-02-14 | 2014-09-09 | Oracle International Corporation | Method for delegated administration |
US7483904B2 (en) | 2003-02-20 | 2009-01-27 | Bea Systems, Inc. | Virtual repository content model |
US7293286B2 (en) | 2003-02-20 | 2007-11-06 | Bea Systems, Inc. | Federated management of content repositories |
US20040167868A1 (en) * | 2003-02-20 | 2004-08-26 | Bea Systems, Inc. | System and method for a virtual content repository |
US7840614B2 (en) | 2003-02-20 | 2010-11-23 | Bea Systems, Inc. | Virtual content repository application program interface |
US7810036B2 (en) * | 2003-02-28 | 2010-10-05 | Bea Systems, Inc. | Systems and methods for personalizing a portal |
US20040230679A1 (en) * | 2003-02-28 | 2004-11-18 | Bales Christopher E. | Systems and methods for portal and web server administration |
US7895191B2 (en) | 2003-04-09 | 2011-02-22 | International Business Machines Corporation | Improving performance of database queries |
US8458164B2 (en) * | 2003-07-15 | 2013-06-04 | International Business Machines Corporation | Query model tool and method for visually grouping and ungrouping predicates |
US20050015361A1 (en) * | 2003-07-15 | 2005-01-20 | International Business Machines Corporation | Model content provider with reusable components for supporting a plurality of GUI API's |
US20050015363A1 (en) * | 2003-07-15 | 2005-01-20 | International Business Machines Corporation | Method and structure for representing complex query elements in a modelling tool |
US20050015368A1 (en) * | 2003-07-15 | 2005-01-20 | International Business Machines Corporation | Query modelling tool having a dynamically adaptive interface |
US8315972B2 (en) * | 2003-09-26 | 2012-11-20 | Microsoft Corporation | Method for maintaining databases information about multiple instances of an activity generating, updating virtual OLAP cube based on modified star-schema |
US20050257245A1 (en) * | 2003-10-10 | 2005-11-17 | Bea Systems, Inc. | Distributed security system with dynamic roles |
US20050081055A1 (en) * | 2003-10-10 | 2005-04-14 | Bea Systems, Inc. | Dynamically configurable distributed security system |
US7756822B2 (en) * | 2003-12-01 | 2010-07-13 | Sap Ag | Operational reporting architecture |
US7900133B2 (en) | 2003-12-09 | 2011-03-01 | International Business Machines Corporation | Annotation structure type determination |
US20050216451A1 (en) * | 2004-02-19 | 2005-09-29 | Urs Enzler | Generation of database queries from predefined query strings |
US7774601B2 (en) | 2004-04-06 | 2010-08-10 | Bea Systems, Inc. | Method for delegated administration |
US7310637B2 (en) * | 2004-05-05 | 2007-12-18 | International Business Machines Corporation | Dynamic database access via standard query language and abstraction technology |
US20050256899A1 (en) * | 2004-05-14 | 2005-11-17 | Bea Systems, Inc. | System and method for representing hierarchical data structures |
US20050257172A1 (en) * | 2004-05-14 | 2005-11-17 | Bea Systems, Inc. | Interface for filtering for portal and webserver administration |
US20050257154A1 (en) * | 2004-05-14 | 2005-11-17 | Bea Systems, Inc. | Graphical association of elements for portal and webserver administration |
US20050256906A1 (en) * | 2004-05-14 | 2005-11-17 | Bea Systems, Inc. | Interface for portal and webserver administration-efficient updates |
US7707143B2 (en) * | 2004-06-14 | 2010-04-27 | International Business Machines Corporation | Systems, methods, and computer program products that automatically discover metadata objects and generate multidimensional models |
US7480663B2 (en) | 2004-06-22 | 2009-01-20 | International Business Machines Corporation | Model based optimization with focus regions |
US7720858B2 (en) * | 2004-07-22 | 2010-05-18 | International Business Machines Corporation | Query conditions-based security |
US8041728B2 (en) * | 2004-09-30 | 2011-10-18 | International Business Machines Corporation | Utilization of display profiles with abstract queries |
US7783670B2 (en) * | 2004-11-18 | 2010-08-24 | Bea Systems, Inc. | Client server conversion for representing hierarchical data structures |
US20060116999A1 (en) * | 2004-11-30 | 2006-06-01 | International Business Machines Corporation | Sequential stepwise query condition building |
US7689555B2 (en) * | 2005-01-14 | 2010-03-30 | International Business Machines Corporation | Context insensitive model entity searching |
US7624097B2 (en) * | 2005-01-14 | 2009-11-24 | International Business Machines Corporation | Abstract records |
US8122012B2 (en) * | 2005-01-14 | 2012-02-21 | International Business Machines Corporation | Abstract record timeline rendering/display |
US8095553B2 (en) * | 2005-03-17 | 2012-01-10 | International Business Machines Corporation | Sequence support operators for an abstract database |
CA2519015A1 (en) * | 2005-09-13 | 2007-03-13 | Cognos Incorporated | System and method of providing relational set operations for olap data sources |
US9679031B2 (en) * | 2005-09-14 | 2017-06-13 | International Business Machines Corporation | Composing abstract queries for delegated user roles |
US7917537B2 (en) | 2005-09-26 | 2011-03-29 | Oracle International Corporation | System and method for providing link property types for content management |
US7818344B2 (en) | 2005-09-26 | 2010-10-19 | Bea Systems, Inc. | System and method for providing nested types for content management |
US7752205B2 (en) | 2005-09-26 | 2010-07-06 | Bea Systems, Inc. | Method and system for interacting with a virtual content repository |
US7953734B2 (en) | 2005-09-26 | 2011-05-31 | Oracle International Corporation | System and method for providing SPI extensions for content management system |
US7444332B2 (en) * | 2005-11-10 | 2008-10-28 | International Business Machines Corporation | Strict validation of inference rule based on abstraction environment |
US7440945B2 (en) * | 2005-11-10 | 2008-10-21 | International Business Machines Corporation | Dynamic discovery of abstract rule set required inputs |
US8180789B1 (en) * | 2005-12-05 | 2012-05-15 | Teradata Us, Inc. | Techniques for query generation, population, and management |
US20080077982A1 (en) * | 2006-09-22 | 2008-03-27 | Bea Systems, Inc. | Credential vault encryption |
US8126887B2 (en) * | 2006-09-29 | 2012-02-28 | Business Objects Software Ltd. | Apparatus and method for searching reports |
US8204895B2 (en) * | 2006-09-29 | 2012-06-19 | Business Objects Software Ltd. | Apparatus and method for receiving a report |
US7899837B2 (en) * | 2006-09-29 | 2011-03-01 | Business Objects Software Ltd. | Apparatus and method for generating queries and reports |
US8463852B2 (en) | 2006-10-06 | 2013-06-11 | Oracle International Corporation | Groupware portlets for integrating a portal with groupware systems |
JP2008112934A (ja) * | 2006-10-31 | 2008-05-15 | Oki Electric Ind Co Ltd | 半導体記憶装置及びその製造方法 |
US8185951B2 (en) * | 2006-12-20 | 2012-05-22 | International Business Machines Corporation | Method of handling user groups in desktop and web based applications in a heterogeneous authentication environment |
US20080168042A1 (en) * | 2007-01-09 | 2008-07-10 | Dettinger Richard D | Generating summaries for query results based on field definitions |
US8140557B2 (en) | 2007-05-15 | 2012-03-20 | International Business Machines Corporation | Ontological translation of abstract rules |
US20090019022A1 (en) * | 2007-07-15 | 2009-01-15 | Dawning Technologies, Inc. | Rules-based data mining |
US20090043788A1 (en) * | 2007-08-06 | 2009-02-12 | Panorama Software Inc. | Proactive business intelligence |
US7809751B2 (en) * | 2007-08-27 | 2010-10-05 | Sap Ag | Authorization controlled searching |
US8316384B2 (en) * | 2009-02-18 | 2012-11-20 | Microsoft Corporation | Input/output broker model |
US9305105B2 (en) * | 2009-05-26 | 2016-04-05 | Google Inc. | System and method for aggregating analytics data |
US8549019B2 (en) * | 2009-05-26 | 2013-10-01 | Google Inc. | Dynamically generating aggregate tables |
US8543591B2 (en) * | 2009-09-02 | 2013-09-24 | Google Inc. | Method and system for generating and sharing dataset segmentation schemes |
US8751544B2 (en) * | 2009-09-02 | 2014-06-10 | Google Inc. | Method and system for pivoting a multidimensional dataset |
CA2684438C (en) * | 2009-09-22 | 2016-07-19 | Ibm Canada Limited - Ibm Canada Limitee | User customizable queries to populate model diagrams |
US8583584B2 (en) * | 2009-10-20 | 2013-11-12 | Google Inc. | Method and system for using web analytics data for detecting anomalies |
US20110119100A1 (en) * | 2009-10-20 | 2011-05-19 | Jan Matthias Ruhl | Method and System for Displaying Anomalies in Time Series Data |
US9785987B2 (en) | 2010-04-22 | 2017-10-10 | Microsoft Technology Licensing, Llc | User interface for information presentation system |
US20110264665A1 (en) * | 2010-04-26 | 2011-10-27 | Microsoft Corporation | Information retrieval system with customization |
US9043296B2 (en) | 2010-07-30 | 2015-05-26 | Microsoft Technology Licensing, Llc | System of providing suggestions based on accessible and contextual information |
US9946768B2 (en) * | 2010-11-02 | 2018-04-17 | Microsoft Technology Licensing, Llc | Data rendering optimization |
EP2783306A4 (de) * | 2011-11-24 | 2015-07-29 | Varonis Systems Inc | Systeme und verfahren zur automatischen erzeugung und ausführung von datenbankabfragen |
US9128908B2 (en) * | 2011-12-19 | 2015-09-08 | Sap Se | Converting reports between disparate report formats |
US20140081994A1 (en) * | 2012-08-10 | 2014-03-20 | The Trustees Of Columbia University In The City Of New York | Identifying Content for Planned Events Across Social Media Sites |
US9824121B2 (en) * | 2012-08-10 | 2017-11-21 | Arris Enterprises Llc | Aggregate data streams in relational database systems |
US10915541B2 (en) * | 2014-07-01 | 2021-02-09 | Verizon Patent And Licensing Inc. | Generic API |
US10606855B2 (en) | 2014-07-10 | 2020-03-31 | Oracle International Corporation | Embedding analytics within transaction search |
US10585892B2 (en) | 2014-07-10 | 2020-03-10 | Oracle International Corporation | Hierarchical dimension analysis in multi-dimensional pivot grids |
US10303726B2 (en) * | 2014-11-13 | 2019-05-28 | Sap Se | Decoupling filter injection and evaluation by forced pushdown of filter attributes in calculation models |
US10504147B1 (en) * | 2015-03-06 | 2019-12-10 | Amazon Technologis, Inc. | Enhanced permissions management |
US10642990B2 (en) | 2015-10-24 | 2020-05-05 | Oracle International Corporation | Generation of dynamic contextual pivot grid analytics |
CN105912603B (zh) * | 2016-04-06 | 2020-05-29 | 百度在线网络技术(北京)有限公司 | 网络空间的业务查询方法及装置 |
US20180253677A1 (en) * | 2017-03-01 | 2018-09-06 | Gregory James Foster | Method for Performing Dynamic Data Analytics |
CN109284435B (zh) * | 2018-03-28 | 2020-05-26 | 北京航空航天大学 | 面向互联网的用户交互痕迹捕获、存储和检索系统及方法 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210870A (en) | 1990-03-27 | 1993-05-11 | International Business Machines | Database sort and merge apparatus with multiple memory arrays having alternating access |
US5212639A (en) | 1990-04-05 | 1993-05-18 | Sampson Wesley C | Method and electronic apparatus for the classification of combinatorial data for the summarization and/or tabulation thereof |
CA2093123A1 (en) | 1990-10-31 | 1992-05-01 | Robert Carr | Computer documents as compound documents in a notebook metaphor |
US5379419A (en) | 1990-12-07 | 1995-01-03 | Digital Equipment Corporation | Methods and apparatus for accesssing non-relational data files using relational queries |
US5481700A (en) | 1991-09-27 | 1996-01-02 | The Mitre Corporation | Apparatus for design of a multilevel secure database management system based on a multilevel logic programming system |
US5359724A (en) | 1992-03-30 | 1994-10-25 | Arbor Software Corporation | Method and apparatus for storing and retrieving multi-dimensional data in computer memory |
WO1994014115A2 (en) | 1992-12-01 | 1994-06-23 | Microsoft Corporation | A method and system for in-place interaction with embedded objects |
US5671379A (en) | 1993-01-29 | 1997-09-23 | International Business Machines Corporation | System and method for managing windows |
US5701453A (en) | 1993-07-01 | 1997-12-23 | Informix Software, Inc. | Logical schema to allow access to a relational database without using knowledge of the database structure |
DE4334336A1 (de) * | 1993-10-08 | 1995-05-04 | Mannesmann Ag | Gasanalysator mit geregelter Meßgaszuführung und dynamischer Probenverdünnung |
US5410693A (en) | 1994-01-26 | 1995-04-25 | Wall Data Incorporated | Method and apparatus for accessing a database |
US5809266A (en) * | 1994-07-29 | 1998-09-15 | Oracle Corporation | Method and apparatus for generating reports using declarative tools |
US5555367A (en) * | 1994-09-30 | 1996-09-10 | General Electric Company | Method and system for generating computer programs for queries formed by manipulating object-oriented diagrams |
DE69523543T2 (de) | 1994-12-13 | 2002-04-04 | Microsoft Corp | Taskbar mit Startmenü |
US5682468A (en) | 1995-01-23 | 1997-10-28 | Intergraph Corporation | OLE for design and modeling |
US5588109A (en) | 1995-01-23 | 1996-12-24 | Hewlett-Packard Company | User interface for a remote diagnostic device |
US5812394A (en) | 1995-07-21 | 1998-09-22 | Control Systems International | Object-oriented computer program, system, and method for developing control schemes for facilities |
US5917483A (en) | 1995-09-18 | 1999-06-29 | Oracle Corporation | Advanced windows management for a computer system |
US5721903A (en) | 1995-10-12 | 1998-02-24 | Ncr Corporation | System and method for generating reports from a computer database |
US5831617A (en) | 1995-11-27 | 1998-11-03 | Bhukhanwala; Saumil A. | Browsing and manipulating objects using movie like icons |
JP3952518B2 (ja) | 1996-03-29 | 2007-08-01 | 株式会社日立製作所 | 多次元データ処理方法 |
US5870756A (en) | 1996-04-26 | 1999-02-09 | Fujitsu Limited | Interchangeable storage medium containing program for processing data files thereupon to match a data file format to a computer system |
DE69736672T2 (de) * | 1996-07-24 | 2007-09-13 | Illinois Tool Works Inc., Glenview | Beutel mit material für befestigungsstreifen und herstellungsverfahren dafür |
US5734380A (en) | 1996-09-27 | 1998-03-31 | Adams; James S. | Method for controlling the presentation of displays in a multi-window computer environment |
US5842199A (en) | 1996-10-18 | 1998-11-24 | Regents Of The University Of Minnesota | System, method and article of manufacture for using receiver operating curves to evaluate predictive utility |
US6047280A (en) | 1996-10-25 | 2000-04-04 | Navigation Technologies Corporation | Interface layer for navigation system |
US5852818A (en) | 1996-12-23 | 1998-12-22 | Oracle Corporation | Non-recursive method for parameter evaluation within an information management system |
US6026399A (en) | 1997-05-30 | 2000-02-15 | Silicon Graphics, Inc. | System and method for selection of important attributes |
US6205447B1 (en) | 1997-06-30 | 2001-03-20 | International Business Machines Corporation | Relational database management of multi-dimensional data |
US5978796A (en) | 1997-06-30 | 1999-11-02 | International Business Machines Corporation | Accessing multi-dimensional data by mapping dense data blocks to rows in a relational database |
US6134541A (en) | 1997-10-31 | 2000-10-17 | International Business Machines Corporation | Searching multidimensional indexes using associated clustering and dimension reduction information |
US5943677A (en) | 1997-10-31 | 1999-08-24 | Oracle Corporation | Sparsity management system for multi-dimensional databases |
US6122628A (en) | 1997-10-31 | 2000-09-19 | International Business Machines Corporation | Multidimensional data clustering and dimension reduction for indexing and searching |
US6380954B1 (en) | 1998-02-09 | 2002-04-30 | Reuters, Ltd. | Method and system for layout of objects within a perimeter using constrained interactive search |
-
1999
- 1999-07-30 US US09/364,596 patent/US6581054B1/en not_active Expired - Lifetime
-
2000
- 2000-07-28 JP JP2001514705A patent/JP2003519418A/ja active Pending
- 2000-07-28 EP EP00952290A patent/EP1228448B1/de not_active Expired - Lifetime
- 2000-07-28 AU AU65016/00A patent/AU768084B2/en not_active Ceased
- 2000-07-28 IL IL14783300A patent/IL147833A0/xx unknown
- 2000-07-28 KR KR1020027001295A patent/KR20020039329A/ko not_active Application Discontinuation
- 2000-07-28 WO PCT/US2000/020692 patent/WO2001009768A2/en active IP Right Grant
- 2000-07-28 CA CA002380040A patent/CA2380040A1/en not_active Abandoned
- 2000-07-28 CN CN00812609A patent/CN1399746A/zh active Pending
- 2000-07-28 BR BR0012826-0A patent/BR0012826A/pt not_active IP Right Cessation
- 2000-07-28 AT AT00952290T patent/ATE372556T1/de not_active IP Right Cessation
- 2000-07-28 DE DE60036303T patent/DE60036303T2/de not_active Expired - Lifetime
-
2002
- 2002-01-22 ZA ZA200200533A patent/ZA200200533B/xx unknown
Also Published As
Publication number | Publication date |
---|---|
US6581054B1 (en) | 2003-06-17 |
EP1228448A2 (de) | 2002-08-07 |
ZA200200533B (en) | 2003-01-16 |
DE60036303D1 (de) | 2007-10-18 |
AU6501600A (en) | 2001-02-19 |
JP2003519418A (ja) | 2003-06-17 |
AU768084B2 (en) | 2003-12-04 |
BR0012826A (pt) | 2004-06-29 |
CN1399746A (zh) | 2003-02-26 |
EP1228448B1 (de) | 2007-09-05 |
CA2380040A1 (en) | 2001-02-08 |
KR20020039329A (ko) | 2002-05-25 |
WO2001009768A2 (en) | 2001-02-08 |
ATE372556T1 (de) | 2007-09-15 |
WO2001009768A3 (en) | 2002-05-30 |
IL147833A0 (en) | 2002-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60036303T2 (de) | Methode und modell für dynamische anfragen | |
US6691140B1 (en) | Method and system for multidimensional storage model with interdimensional links | |
US6842758B1 (en) | Modular method and system for performing database queries | |
US8091040B2 (en) | Method and system for displaying a plurality of discrete files in a compound file | |
DE69333408T2 (de) | Ein Computer-System und Verfahren zum interaktiven Verwalten eines verteilten Datenbanksystems | |
DE69031028T2 (de) | System zum physikalischen Entwurf von Datenbanken | |
DE10251440A1 (de) | Reproduzierbare Auswahl von Elementen in einer Hierarchie | |
EP1166228A2 (de) | Verfahren zur nutzung von fraktalen semantischen netzen für alle arten von datenbank-anwendungen | |
DE112022000886T5 (de) | Datenverarbeitungssystem mit manipulation logischer datensatzgruppen | |
DE69122324T2 (de) | Verfahren und gerät zur graphischen befragung einer datenbank | |
EP1239377A1 (de) | Datenorganisationssystem und Verfahren zur Gliederungsstrukturverwaltung und -synchronisation | |
de S. e Silva et al. | An Architecture for Data Warehouse Systems Using a Heterogeneous Database Management System—HEROS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
R082 | Change of representative |
Ref document number: 1228448 Country of ref document: EP Representative=s name: FELIX RUMMLER, DE |
|
R081 | Change of applicant/patentee |
Ref document number: 1228448 Country of ref document: EP Owner name: GOOGLE INC., US Free format text: FORMER OWNER: COMPUTER ASSOCIATES THINK, INC., ISLANDIA, US Effective date: 20120829 |
|
R082 | Change of representative |
Ref document number: 1228448 Country of ref document: EP Representative=s name: FELIX RUMMLER, DE Effective date: 20120829 |