CN100437589C - Multidimensional expression data caching method and device in online analytical processing system - Google Patents

Multidimensional expression data caching method and device in online analytical processing system Download PDF

Info

Publication number
CN100437589C
CN100437589C CNB2007100030187A CN200710003018A CN100437589C CN 100437589 C CN100437589 C CN 100437589C CN B2007100030187 A CNB2007100030187 A CN B2007100030187A CN 200710003018 A CN200710003018 A CN 200710003018A CN 100437589 C CN100437589 C CN 100437589C
Authority
CN
China
Prior art keywords
buffer memory
operation result
multidimensional expressions
data
members
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.)
Active
Application number
CNB2007100030187A
Other languages
Chinese (zh)
Other versions
CN101008954A (en
Inventor
林志贤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CNB2007100030187A priority Critical patent/CN100437589C/en
Publication of CN101008954A publication Critical patent/CN101008954A/en
Application granted granted Critical
Publication of CN100437589C publication Critical patent/CN100437589C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

This invention discloses one cross analysis process system multi-dimension expression data buffer method and device, which comprises the following steps: setting in advance multi-dimension buffer labels in the expression sentences; analyzing sentence to generate grammar tree and executing the expressions; in process, if yes, then setting the buffer label property as true and getting the said buffer label computation results and generating relative key words; storing the computation results and said key words.

Description

The method and apparatus of Multidimensional Expressions metadata cache in the on-line analysing processing system
Technical field
The present invention relates to field of computer technology, be meant the method and apparatus of Multidimensional Expressions metadata cache in the on-line analysing processing system especially.
Background technology
In today of science and technology fast development, the data of the needs statistics in the social every field all rapidly increase, and the record of mass data, inquiry bring new developing direction for computer technology, and new technical task is provided.
Enterprise Resources Plan (ERP, Enterprise Recourse Planning) system is the new data management mode of bringing of enterprise.By ERP system, enterprise can use more efficiently, all kinds of resources of management enterprise.Store lot of data in the ERP database, from the analyzing and processing process, analyze the working time that generally needs the multilist operation, grows, if directly utilize existing data are made a strategic decision in the database of ERP operation system analysis and reasoning, will influence the efficient of ERP system, and cause busy network data transmission.Therefore need be in conjunction with on-line analysing processing system (OLAP, Online Analytic Processing).
The management decision personnel carry out multidimensional analysis from different angles, fast and flexible ground to the data the data warehouse by OLAP and handle.The OLAP system mainly comprises multidimensional on-line analysing processing system MOLAP (Multidimensional OLAP) and concerns on-line analysing processing system ROLAP (Relational OLAP).From in logic, the OLAP abstract model comprises structural model and interrogation model, and structural model is represented the various objects of cube, and interrogation model is illustrated in these inquiries above object.During realization structural model and interrogation model are mapped as the physics realization model.In the OLAP structural model, core is the cube cube, i.e. cube (Cube).Contain a large amount of generation data and aggregated data among the Cube, aggregated data is by the decision of dimension hierarchical structure, and the complexity of dimension number, dimension number of members and hierarchical structure has determined the data volume of aggregated data.Wherein, dimension is the special angle of people's observed data, as time dimension, geography dimensionality etc.The user on certain dimension, can also have the level of detail different levels during observed data each describe aspect.As, time dimension comprises: date, month, season, year.Value during the member that comprises in the dimension on the dimension is the description of data position in certain dimension.As, " certain year is in such a month, and on such a day " is the description of position on time dimension.By each different dimensions, observation data more flexibly.Each data among the Cube are all corresponding to a member in each dimension, and the combination by member in each dimension can inquire corresponding metric data.
Data structure for multidimensional, and analytically to data query, multiple implementation is arranged, wherein a kind of mode is to adopt Multidimensional Expressions (MDX, Multi DimensionalExpressions) inquiry and analysis multidimensional data, inquiry and analysis mainly comprise data in each dimension are gathered or assemble.
In the process that multidimensional data is gathered and assembles, some Multidimensional Expressions can often call repeatedly, as, the data processing terminal of trading company is handled in the multidimensional data, be summarised in the corresponding metric data of member in time dimension, the geography dimensionality, in the process that gathers, the member can be called repeatedly by the query expression among the MDX in each dimension, the metric data after obtaining gathering.
When using MDX that the multidimensional data in the OALP system is inquired about at present, when calling query expression for data processing terminal at every turn, generally can adopt two kinds of schemes, to call the result cache of query expression aftertreatment at every turn or not carry out buffer memory, for the situation of the result cache after will handling at every turn, can cause the internal memory waste of data processing terminal more serious; Do not carry out the situation of buffer memory for the result after each will the processing at every turn, can cause data query, when gathering, terminal operating speed is slower.Serious, the slower problem of travelling speed of internal memory waste for above-mentioned existence does not still have perfect solution at present.
Summary of the invention
In view of this, the invention reside in the method and apparatus that Multidimensional Expressions metadata cache in the on-line analysing processing system is provided, to solve serious, the slower problem of travelling speed of above-mentioned internal memory waste.
For addressing the above problem, the invention provides the method for Multidimensional Expressions metadata cache in the on-line analysing processing system, comprising:
The buffer memory sign of Multidimensional Expressions is set in the statement of Multidimensional Expressions in advance;
Resolve the Multidimensional Expressions statement, the generative grammar tree is carried out the Multidimensional Expressions on the syntax tree;
In the process of implementation, if before detecting Multidimensional Expressions described buffer memory sign is arranged, the attribute of then described buffer memory sign is set to very, obtains the operation result of the Multidimensional Expressions after described buffer memory identifies, with described operation result buffer memory; The described operation result that obtains the Multidimensional Expressions after buffer memory identifies comprises: decomposite the Multidimensional Expressions after described buffer memory identifies and determine all members and function in the Multidimensional Expressions, determine at least one data by all members' combination, described data are obtained described operation result after by functional operation.
Wherein, before with described operation result buffer memory, this method further comprises: generate and the corresponding key word of described operation result; During with described operation result buffer memory, with described operation result and described key word buffer memory together.
Wherein, behind described operation result buffer memory, this method further comprises:
When calling the operation result of described buffer memory, generate described key word earlier, search and obtain and the corresponding operation result of described key word.
The present invention also provides the device of Multidimensional Expressions metadata cache in the on-line analysing processing system, comprising:
Identify unit is used for being provided with at the Multidimensional Expressions statement in advance the buffer memory sign of Multidimensional Expressions, and is sent to resolution unit after being provided with;
Resolution unit is used to resolve the Multidimensional Expressions statement, the generative grammar tree;
Performance element is used for carrying out the Multidimensional Expressions on the resolution unit syntax tree; In the process of implementation, if before detecting Multidimensional Expressions described buffer memory sign is arranged, the attribute of then described buffer memory sign is set to very, and the notice arithmetic element;
Arithmetic element, be used for decompositing the Multidimensional Expressions after described buffer memory identifies and determine all members of Multidimensional Expressions and function, determine at least one data by all members' combination, described data are obtained described operation result after by functional operation;
Buffer unit is used for the described operation result buffer memory with arithmetic element.
Wherein, described device also comprises: key element, be used for before buffer unit is with described operation result buffer memory, and generate and the corresponding key word of described operation result;
Described buffer unit is used for described operation result and described key word buffer memory together.
Wherein, described device also comprises:
Reading unit is used for obtaining from key element the described key word of generation, by described keyword search and read corresponding operation result.
Pass through buffer memory, can avoid the double counting of expression formula, especially calling the expression formula of calculating the member in a large number, during the data of calculation expression, since by key word with the data of expression formula buffer memory together, therefore when calling this calculating member once more, directly just the data of expression formula can be read, can prevent to occur frequently to call the machine of the delaying phenomenon that expends and may therefore produce of the system resource of generation by key word.
Description of drawings
Fig. 1 is the process flow diagram of embodiment among the present invention;
Fig. 2 is an installation drawing of the present invention.
Embodiment
The following describes key step of the present invention, and be described with reference to the accompanying drawings the preferred embodiments of the present invention.In this embodiment, the data processing by trading company is that example illustrates realization flow of the present invention.
In the present embodiment, the data of trading company comprise a plurality of dimensions, as: product dimension, place of production dimension and office worker's dimension etc.
When the data of trading company are carried out analyzing and processing, if the user need inquire about in the current data, when the consumption sum data of certain chronomere account for the ratio of whole consumption sum, need pre-defined whole consumption sum, two of ratios are calculated the member, and whole consumption sum need be by certain calculating, and computation process is comparatively complicated, when obtaining the proportional meter person of being counted as, need to call whole consumption sum again and calculate the member, the present invention gets up the result cache of the proportional meter person of being counted as, and when repeating to call, just needn't recomputate like this, especially many for repeating call number, calculating member's computation process is more obvious when complicated.Need buffer memory and different calculating members for a plurality of, can get up calculating the corresponding one by one buffer memory of the corresponding result of member with it.
Data for above-mentioned trading company inquire about, when analyzing, with 2000, calendar year 2001 sales data be example, the user to obtain consumption sum data, sales volume data and the consumption sum of every month accounted for 2000 and calendar year 2001 whole consumption sum summation ratio the time, realize by following code.
MdxResult?execute?Mdx?Query(Connection?connection,String?mdx)
Input: the connection:OLAP database connects, the query statement of mdx
Return: MdxResult, MDX query results
Result after MDX Result function is carried out comprises left side axle, top axle, and the data of data area.
In the present embodiment, the MDX statement is:
With
Member?Time.Total?as
' cache sum (Time.levels (0) .members) ', caption=' gather '
The ∥ definition is calculated the member and is gathered Time.Total, and wherein, the expression formula that the member gathers Time.Total is calculated in the as back for this reason.
member?Measures.Percent?as
' (Measures.Sales_Dollars, Time.currentMember)/(Measures.Sales_Dollars, Time.Total) ', formatString=' 0.00% ', caption=' ratio '
The calculating member ratio Measures.Percen of ∥ definition tolerance dimension, member's expression formula is calculated in the as back for this reason.
Select
{ Measures.members, Measures.Percent}on columns ∥ longitudinal axis expression formula.
{ Time.members, Time.Total}on rows ∥ transverse axis expression formula
from?sales
Where ([State] .[USA], [Product] .[Bread], [Employee] .[AllEmployee]) ∥ slice axis expression formula
Data processing terminal demonstrates the result of table 1 after executing above-mentioned code.Comprise member members and its calculating member ratio Messures.Percent of the Measures of tolerance dimension in the set of longitudinal axis expression formula, the member of tolerance dimension comprises consumption sum and sales volume.Transverse axis comprises that the member of time dimension and its calculating member gather Time.Total, and the member of time dimension comprises the year and the moon.Wherein, in the present embodiment, data processing terminal is data processing equipments such as computing machine or server.
Figure C20071000301800101
Table 1
Describe the result how data processing terminal is used method deal with data of the present invention and obtained table 1 below in detail.Referring to Fig. 1,
Step S101: the buffer memory sign that sets in advance Multidimensional Expressions;
In the superincumbent statement, in data processing, can often be called, therefore, be added sign cache in the expression formula front of calculating the member, be shown that the value of this expression formula needs buffer memory owing to calculate member Time.Total.
Step S102: resolve the Multidimensional Expressions statement, the generative grammar tree;
Data processing terminal is resolved the Multidimensional Expressions statement according to the syntax rule of MDX in the processing procedure of carrying out statement.MDX syntax parsing process realizes according to left and right LR recursive grammar analytical algorithm.
Parsing is according to syntax rule the MDX statement to be carried out in logic decomposition, and generates abstract syntax tree, promptly tree-like data structure, and the node on the tree is function or identifiers such as MDX expression formula.
Wherein, the root node of abstract syntax tree comprises the longitudinal axis, transverse axis, and slice axis, child node comprise calculates member etc.
The longitudinal axis and transverse axis comprise an aggregate expression (Set), and slice axis comprises a tuple expression (Tuple), calculate the member and comprise a calculation expression (Numeric Expression).Calculating the member not only can be calculation expression, can also be the expression formula of character string or any kind.
There is a sign cache to represent whether buffer memory of this expression formula before the expression formula.When resolving the MDX statement, IF expression has sign cache to begin, and the attribute that sign cache then is set is true true.In the MDX statement on resolve, the longitudinal axis comprises that { Measures.members, Measures.Percent} are aggregate expressions to expression formula.Transverse axis comprises that { Time.members, Time.Total} are aggregate expressions to expression formula.Slice axis comprise expression formula ([State] .[USA], [Product] .[Bread], [Employee] .[All Employee]), be a tuple expression.
Two are calculated the member, and the expression formula cachesum (Time.levels (0) .members) that calculates member Time.Total is a value expression, and sign cache represents that this expression formula needs buffer memory.The expression formula of calculating member Measures.Percent is:
(Measures.Sales_Dollars, Time.currentMember)/(Measures.Sales_Dollars Time.Total) is a calculation expression, and it is used and calculates member Time.Total.Because Time.Total is quoted by Measures.Percent, can repeatedly carry out during execution, so the expression formula that Time.Total is set needs cache.
In fact, member Time.Total as ' cache sum (Time.levels (0) .members) ' is equivalent to cache member Time.Total as ' sum (Time.levels (0) .members) ', latter cache is applied on the member, represents that equally this calculating member's expression formula needs cache.
Step S103: carry out the Multidimensional Expressions on the syntax tree;
According to the calculating member expression formula that defines in the Mdx statement, create and calculate member object.
Carry out the axle expression formula, to determine the member's combination on this, referring to table 1, the expression formula of the longitudinal axis Measures.members, it is { Measures.Sales_Dollars that Measures.Percent} carries out the back, Measures.Sales_Units, Measures.Percent} is three members' set, shows that member's title is { a consumption sum, sales volume, ratio }.Here, the node M easures.members that carries out the tolerance dimension obtains measuring all members' of dimension metric, comprise consumption sum Measures.Sales_Dollars, sales volume Measures.Sales_Units, XM Measures.Percent obtain the calculating member object Measures.Percent of ratio.
Owing in syntax tree, only contain grammer phrase or mark, there is not Olap object semanteme, only when carrying out, convert grammer phrase or mark to the Olap object, convert the member's ratio of calculating when carrying out to as mark Measures.Percent.
The transverse axis expression formula comprises each member on the time dimension, as in the table 1 2000, each month etc., calculate the member in addition and gather Time.Total.
Carry out the slice axis expression formula, go up the section member of each dimension to determine section.As ([State] .[USA], [Product] .[Bread], [Employee] .[All Employee]) be converted to corresponding member, the product-bread in promptly showing, the place of production-U.S., office worker-all office workers.
When carrying out the Multidimensional Expressions on the syntax tree, redirect between different nodes is carried out recurrence evaluation from top to down to syntax tree.
Step S104: in the evaluation process, if before detecting Multidimensional Expressions described buffer memory sign is arranged, the attribute of then described buffer memory sign is set to very, obtains the operation result of the Multidimensional Expressions after described buffer memory identifies, with described operation result buffer memory.
Carry out the expression formula of transverse axis, the longitudinal axis and slice axis in step S103 after, the structure of MdxResult result set is just decided, and determines member and section member on the shaft, and the member after carrying out according to expression formula makes up, and obtains corresponding data.Next, determine corresponding data by each intersection point of going up the dimension member.Data in each form in the table 1 just.
Obtain a physical coordinates point data be by function getValue (Point point); Point is each coordinate points in the pairing dimension of data in the form, and coordinate points also can be expressed as each member members, therefore, this function by call getValue (Member[] members realizes.For calculating the member, its member type Member is non-existent on the physics cube, can't directly concentrate from physical data and obtain by function getValue (Member[] members), but calculate according to this expression formula of calculating the member.
Therefore, when obtaining the data value that calculates the member by function getValue (Member[] members), the expression formula that needs first decomposition computation member, generate a plurality of other member's combinations, these members are made up evaluation, at last, these are worth, obtain the value of this calculating member corresponding virtual spatial point according to the expression formula function calculation.
For the expression formula of adding buffer memory sign cache, after needing to calculate at every turn with this expression formula result of calculation buffer memory.Because the result of calculation of expression formula depends on spatial point, i.e. member's combination is so caching method is, according to member's combination and expression formula generation key word key, with key word and result of calculation buffer memory together.
Step S105: generate all data, on terminal, show;
By will calculating member's metadata cache, generate in the process of data in the table 1, if do not calculate the member in the determined combination, just can determine data in the table 1 by the dimension member in the combination; If the calculating member is arranged in member's the combination, when determining the data in the combination, from buffer memory, obtain out corresponding data by the key word that generates previously, determine the data of member's combination again.After determining all data, on terminal, show.
Provide the respective code and the flow process that realize said method below.To calculate member's ratio is example, describes.The data on ratio hurdle in the form are that the value of passing through the middle consumption sum of being expert at obtains divided by the value that the calculating member gathers Time.Total.Behind the value buffer memory that will gather, during each data in obtaining the ratio hurdle, needn't recomputate, therefore can improve the stability of system's execution speed and system.
Object getValue (Member[] members) ∥ carries out evaluation to member's combination, is example with the ratio value that calculated 2000.
{
For(int?i=0;i<members.length;i++)
{
Member member=members[i]; The ∥ traversal is used for determining each member of ratio value combination in 2000, in the present embodiment, comprise all office workers in member U.S., office worker's dimension of member's bread, the place of production dimension of member 2000 in the time dimension, product dimension, calculate the member and gather Time.Total;
If (member.isCalculate ()) calculates the member if ∥ judges member Time.Total;
{
Expression exp=member.getExpression (); ∥ takes out this member's expression formula;
If (exp.cache==true) ∥ has been owing to added buffer memory sign cache and when carrying out this expression formula the attribute of buffer memory sign has been changed to very before this expression formula, therefore, judge the expression formula attribute for very and need buffer memory;
{
Object key=makeKey (members, exp); ∥ is according to current member's combination and expression formula structure key word key value;
Object value=cachePool.get (key); ∥ is the value of obtaining from buffer memory earlier
If(value!=null)
Return value; If the ∥ value of obtaining is not empty, directly return the value of institute's buffer memory; For the first time during value, because value does not also calculate, therefore value is for empty, and in the code of carrying out subsequently, behind the value buffer memory that calculates, just can directly by key value read when calling Time.Total the second time;
Else ∥ calls calculating
{
Object value=getValue (exp, members); ∥ determines and calculates the value that the member gathers;
CachePool.put (key, value); ∥ is with result of calculation and key value buffer memory;
}
}
Return value; ∥ returns and calculates the value that the member gathers;
}
}
Return cubeData.getValue (members); If ∥ for circulation finishes, illustrate in member's combination and all do not calculate the member, then from multidimensional data, obtain;
}
In the process of above-mentioned buffer memory, key value and Value value can be carried out buffer memory with the form of Hash table.When buffer memory begins, set up cache pool cachepool, be finished, discharge cachePool.
After obtaining calculating the value of member Time.Total, member's consumption sum in member's bread by the member in the time dimension 2000, product dimension, the member U.S. of place of production dimension, the office worker's dimension in all office workers, the tolerance dimension, the data that can determine consumption sum are 11,496.22, this data value divided by calculating member Time.Total, is obtained ratio data 44.74%.
When the ratio value of each month of calculating the back and calendar year 2001, owing to this value is presented in the buffer memory, then directly determine identical key value by Time.Total, obtain corresponding Value value and get final product, needn't repeat to calculate.
In the processing procedure of above-mentioned data, when determining the value of Time.Total for the first time, will calculate the expression formula of member Time.Total and take out, and compose and give exp, provide the process of determining the Time.Total value for the first time below, pass through function
Object value=getValue (exp, members); ∥ determines the value of calculating member Time.Total; Wherein, members is for determining all members of Time.Total; This function can be converted into following function and calculate,
The type of Object getValue (Expression exp, Member[] members) ∥ expression formula exp is Expression, and the type of members is the Member array;
{
Expresssion[] args=exp.getArgs (); ∥ takes out all parameters among the expression formula exp, in Time.Total, the expression formula sum of exp (Time.levels (0) .members) ', caption=' gather ' in the member be 2000 and calendar year 2001 two members;
Object[]values=new?Object[args.length];
For(int?i=0;i<args.length;i++)
{
All parameters among If (args[i] instanceof Member) the ∥ traversal expression formula exp, if parameter all is the member,
{
Member[] ms=replaceMembers (members, (Member) args[i]); ∥ invoke code replace Members (members, (Member) args[i]) is with args[i] member of expression replaces the member of identical dimensional among the members, and obtain new member and make up ms;
Provide the code of realizing replacement process below,
Member[]replaceMembers(Member[]members,Member?member)
{
Member[] ms=new Member[members.length]; ∥ is array ms application space;
For (int i=0; I<members.length; I++) member among the ∥ traversal members;
{
If (members[i] .getDimension ()==member.getDimension ()) if member's dimension is identical with member's dimension among the member among the ∥ members;
Ms[i]=member; ∥ places array with the member among the member;
else
Ms[i]=members[i]; ∥ places array with the member among the members;
}
}
Values[i]=getValue (ms); ∥ makes up ms recursive call getValue (Member[] members) with new member;
}
Else
Values[i]=getValue (args[i], members); If ∥ args[i] in be expression formula, then use args[i] recursive call getValue (Expression exp, Member[] members);
}
∥ is through top calculating, and this expression formula decomposition finishes the value array values after obtaining decomposing;
Function fun=Exp.getFunction (); ∥ obtains the function of this expression formula, in the present embodiment, is summing function sum;
Object value=fun.execute (values); ∥ calls this function sum and calculates, and the array values of calculated value obtains calculating the result of calculation of member Time.Total.
Return value; ∥ returns the value 25,694.67 of result of calculation;
}
So far, in depositing the process of buffer memory in, the key value is determined in expression formula and member's combination by Time.Total, key value and the value value that calculates the top first time are inserted buffer memory, when the ratio value of each month of calculating the back and calendar year 2001, when using the value of calculating member Time.Total once more, owing to this value is presented in the buffer memory, then directly determine identical key value, obtain corresponding Value value and get final product, needn't repeat to calculate by Time.Total.
The present invention also provides the device of Multidimensional Expressions metadata cache in the on-line analysing processing system, referring to Fig. 2, comprising:
Identify unit 201 is used for being provided with at the Multidimensional Expressions statement in advance the buffer memory sign of Multidimensional Expressions, and is sent to resolution unit 202 after being provided with;
Resolution unit 202 is used to resolve the Multidimensional Expressions statement, the generative grammar tree;
Performance element 203 is used for carrying out the Multidimensional Expressions on the resolution unit syntax tree; In the process of implementation, if before detecting Multidimensional Expressions described buffer memory sign is arranged, the attribute of then described buffer memory sign is set to very, and notice arithmetic element 204;
Arithmetic element 204 is used to obtain the operation result that described attribute is the Multidimensional Expressions after the genuine buffer memory sign;
Buffer unit 205 is used for the described operation result buffer memory with arithmetic element.
In device of the present invention, the Multidimensional Expressions of processing is for calculating member's Multidimensional Expressions.
In device of the present invention, described arithmetic element 204, be used for decompositing the Multidimensional Expressions after described buffer memory identifies and determine all members of Multidimensional Expressions and function, determine at least one data by all members' combination, described data are obtained described operation result after by functional operation.
In device of the present invention, also comprise:
Key element 206 is used for before buffer unit 205 is with described operation result buffer memory, generates and the corresponding key word of described operation result;
Described buffer unit 205 is used for described operation result and described key word buffer memory together.
In device of the present invention, also comprise:
Reading unit 207 is used for obtaining from key element 206 the described key word of generation, by described keyword search and read corresponding operation result.
For method and apparatus of the present invention, within the spirit and principles in the present invention all, any modification of being done, be equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (6)

1, the method for Multidimensional Expressions metadata cache in the on-line analysing processing system is characterized in that, comprising:
The buffer memory sign of Multidimensional Expressions is set in the statement of Multidimensional Expressions in advance;
Resolve the Multidimensional Expressions statement, the generative grammar tree is carried out the Multidimensional Expressions on the syntax tree;
In the process of implementation, if before detecting Multidimensional Expressions described buffer memory sign is arranged, the attribute of then described buffer memory sign is set to very, obtains the operation result of the Multidimensional Expressions after described buffer memory identifies, with described operation result buffer memory;
The described operation result that obtains the Multidimensional Expressions after buffer memory identifies comprises: decomposite the Multidimensional Expressions after described buffer memory identifies and determine all members and function in the Multidimensional Expressions, determine at least one data by all members' combination, described data are obtained described operation result after by functional operation.
2, method according to claim 1 is characterized in that, before with described operation result buffer memory, this method further comprises: generate and the corresponding key word of described operation result;
During with described operation result buffer memory, with described operation result and described key word buffer memory together.
3, method according to claim 2 is characterized in that, behind described operation result buffer memory, this method further comprises:
When calling the operation result of described buffer memory, generate described key word earlier, search and obtain and the corresponding operation result of described key word.
4, the device of Multidimensional Expressions metadata cache in the on-line analysing processing system is characterized in that, comprising:
Identify unit is used for being provided with at the Multidimensional Expressions statement in advance the buffer memory sign of Multidimensional Expressions, and is sent to resolution unit after being provided with;
Resolution unit is used to resolve the Multidimensional Expressions statement, the generative grammar tree;
Performance element is used for carrying out the Multidimensional Expressions on the resolution unit syntax tree; In the process of implementation, if before detecting Multidimensional Expressions described buffer memory sign is arranged, the attribute of then described buffer memory sign is set to very, and the notice arithmetic element;
Arithmetic element, be used for decompositing the Multidimensional Expressions after described buffer memory identifies and determine all members of Multidimensional Expressions and function, determine at least one data by all members' combination, described data are obtained described operation result after by functional operation;
Buffer unit is used for the described operation result buffer memory with arithmetic element.
5, device according to claim 4 is characterized in that, described device also comprises: key element, be used for before buffer unit is with described operation result buffer memory, and generate and the corresponding key word of described operation result;
Described buffer unit is used for described operation result and described key word buffer memory together.
6, device according to claim 5 is characterized in that, described device also comprises:
Reading unit is used for obtaining from key element the described key word of generation, by described keyword search and read corresponding operation result.
CNB2007100030187A 2007-01-30 2007-01-30 Multidimensional expression data caching method and device in online analytical processing system Active CN100437589C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100030187A CN100437589C (en) 2007-01-30 2007-01-30 Multidimensional expression data caching method and device in online analytical processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100030187A CN100437589C (en) 2007-01-30 2007-01-30 Multidimensional expression data caching method and device in online analytical processing system

Publications (2)

Publication Number Publication Date
CN101008954A CN101008954A (en) 2007-08-01
CN100437589C true CN100437589C (en) 2008-11-26

Family

ID=38697387

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100030187A Active CN100437589C (en) 2007-01-30 2007-01-30 Multidimensional expression data caching method and device in online analytical processing system

Country Status (1)

Country Link
CN (1) CN100437589C (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479239B (en) * 2010-11-29 2016-03-09 国际商业机器公司 The method and apparatus of pre-stored RDF trinary data
CN102521411B (en) * 2011-12-28 2013-09-18 畅捷通信息技术股份有限公司 Formula and formula data processing device and formula and formula data processing method
CN102938097B (en) * 2012-09-28 2016-09-28 用友网络科技股份有限公司 Data processing equipment and data processing method for on-line analysing processing system
CN103020115A (en) * 2012-11-13 2013-04-03 深圳市同洲电子股份有限公司 Data caching method, cache server and system
CN103324724B (en) * 2013-06-26 2017-02-08 华为技术有限公司 Method and device for processing data
CN104104680A (en) * 2014-07-14 2014-10-15 中国电子科技集团公司第四十一研究所 Method for carrying out Rapid IO protocol decoding by means of formalization description language
CN105488048A (en) * 2014-09-16 2016-04-13 中兴通讯股份有限公司 Data query method and device
CN106372114B (en) * 2016-08-23 2019-09-10 电子科技大学 A kind of on-line analysing processing system and method based on big data
CN106909691A (en) * 2017-03-09 2017-06-30 山东浪潮商用系统有限公司 A kind of efficient revenue data analysis method based on caching
CN108446299A (en) * 2018-01-25 2018-08-24 链家网(北京)科技有限公司 The method and device of data-optimized calculating in a kind of task
CN109522341B (en) * 2018-11-27 2020-12-22 京东数字科技控股有限公司 Method, device and equipment for realizing SQL-based streaming data processing engine
CN109902132B (en) * 2019-02-26 2023-03-03 维正知识产权科技有限公司 Relation model establishing method and system for intellectual property multi-dimensional data
CN110377866A (en) * 2019-06-05 2019-10-25 广州南方智能技术有限公司 GIS data application method, equipment, medium based on expression formula
CN113220728B (en) * 2021-05-24 2023-11-28 跬云(上海)信息科技有限公司 Data query method, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129032A1 (en) * 2000-02-28 2002-09-12 Hyperroll Israel Ltd. Database management system having a data aggregation module integrated therein
US6601062B1 (en) * 2000-06-27 2003-07-29 Ncr Corporation Active caching for multi-dimensional data sets in relational database management system
CN1551014A (en) * 2003-03-28 2004-12-01 Systems and methods for proactive caching utilizing olap variants
US6898603B1 (en) * 1999-10-15 2005-05-24 Microsoft Corporation Multi-dimensional data structure caching
CN1751307A (en) * 2002-01-18 2006-03-22 伊迪蒂克公司 A design for storage and retrieval of arbitrary content and application data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898603B1 (en) * 1999-10-15 2005-05-24 Microsoft Corporation Multi-dimensional data structure caching
US20020129032A1 (en) * 2000-02-28 2002-09-12 Hyperroll Israel Ltd. Database management system having a data aggregation module integrated therein
US6601062B1 (en) * 2000-06-27 2003-07-29 Ncr Corporation Active caching for multi-dimensional data sets in relational database management system
CN1751307A (en) * 2002-01-18 2006-03-22 伊迪蒂克公司 A design for storage and retrieval of arbitrary content and application data
CN1551014A (en) * 2003-03-28 2004-12-01 Systems and methods for proactive caching utilizing olap variants

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Active Caching of Online-Analytical-Processing QueriesinWWW Proxies. Thanasis Loukopoulos,Panos Kalnis,etc.Proceedings of the 2001 International Conference on Parallel Processing. 2001
Active Caching of Online-Analytical-Processing QueriesinWWW Proxies. Thanasis Loukopoulos,Panos Kalnis,etc.Proceedings of the 2001 International Conference on Parallel Processing. 2001 *
Web环境下基于对象池和数据缓存技术的OLAP系统. 于雅丽,谢强,丁秋林.武汉大学学报(工学版),第39卷第6期. 2006
Web环境下基于对象池和数据缓存技术的OLAP系统. 于雅丽,谢强,丁秋林.武汉大学学报(工学版),第39卷第6期. 2006 *
分布数据缓存体系. 黄世能,奚建清.软件学报,第12卷第07期. 2001
分布数据缓存体系. 黄世能,奚建清.软件学报,第12卷第07期. 2001 *
基于Cache的可回退OLAP系统研究与实现. 杨立,李伟平,左春,王裕国.计算机工程与应用. 2003
基于Cache的可回退OLAP系统研究与实现. 杨立,李伟平,左春,王裕国.计算机工程与应用. 2003 *

Also Published As

Publication number Publication date
CN101008954A (en) 2007-08-01

Similar Documents

Publication Publication Date Title
CN100437589C (en) Multidimensional expression data caching method and device in online analytical processing system
US20200160441A1 (en) Method and system for forecasting using an online analytical processing database
JP6846356B2 (en) Systems and methods for automatically inferring the cube schema used in a multidimensional database environment from tabular data
US6651055B1 (en) OLAP query generation engine
KR101644418B1 (en) Visualizing relationships between data elements and graphical representations of data element attributes
US20170185663A1 (en) Interpreting relational database statements using a virtual multidimensional data model
CN103853818B (en) Multidimensional data processing method and device
CN104700190B (en) One kind is for project and the matched method and apparatus of professional
Basole et al. Computational analysis and visualization of global supply network risks
US8126750B2 (en) Consolidating data source queries for multidimensional scorecards
US20070265863A1 (en) Multidimensional scorecard header definition
CN106294888A (en) A kind of method for subscribing of object data based on space-time database
Chauhan et al. The relationship between nested patterns and the ripple effect in complex supply networks
JP2015534682A (en) System and method for processing digital traffic metrics
JP2008523473A (en) Computer system and method for visualizing data using mark generation
CN105868334A (en) Personalized film recommendation method and system based on feature augmentation
AU2011204831A1 (en) Digital analytics platform
Alonso et al. A reactive GRASP algorithm for the container loading problem with load-bearing constraints
CN112527886A (en) Data warehouse system based on urban brain
CN116911671A (en) Data asset operation efficiency evaluation method and system
Kim et al. M2Bench: a database benchmark for multi-model analytic workloads
Zhang et al. Selectivity estimation for relation-tree joins
US20140067874A1 (en) Performing predictive analysis
Sarma The five key components for building an operational business intelligence ecosystem
CN111061767A (en) Data processing method based on memory calculation and SQL calculation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant