CN101446951B - 用于提供最近和摘要数据的压缩数据存储 - Google Patents
用于提供最近和摘要数据的压缩数据存储 Download PDFInfo
- Publication number
- CN101446951B CN101446951B CN200810176862.4A CN200810176862A CN101446951B CN 101446951 B CN101446951 B CN 101446951B CN 200810176862 A CN200810176862 A CN 200810176862A CN 101446951 B CN101446951 B CN 101446951B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- controller
- file
- compression
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明的发明名称为用于提供最近和摘要数据的压缩数据存储。本发明涉及数据存储和传输。数据由控制器计算机压缩和存储而不是使用户计算机收集、压缩和存储数据。这就使得即使在已出现通信故障时能够从数据存储取回数据并显示数据以用于用户取回。
Description
技术领域
本发明涉及一种包括来自压缩数据存储(data store)的历史数据的显示的网页界面。更明确地来讲,本发明涉及用于存储历史数据并使这种数据能够用于网页显示的方法和系统。
背景技术
常规操作中,计算机系统存储并传输数据。通过允许单独系统将数据传输至网络中的其它系统,计算机网络用作数据传输通信链路,在计算机网络中,一些系统可存储特定数据,而在相同网络中的其它系统可存储不同的数据。
网络允许较大量的数据存储,因为许多系统能够将作为压缩数据的数据存储和管理。不过,当网络中断或故障出现时,将各种系统之间的数据传输打断。因此,在中断或故障期间,每个系统不能够访问由其它系统管理的数据。
因此,需要一种用于在控制计算机系统上存储并取回压缩数据的方法和系统而不是在联网的系统上存储数据。而且,还需要一种能够在通信故障期间操作的数据存储系统。
发明内容
本发明的第一方面包括一种数据存储系统,其包括控制器、显示器和处理器,该控制器用于收集和压缩数据并具有在线和离线操作,该显示器配置成用于显示压缩数据,该处理器设置在该控制器内并具有多个数据存储,以存储来自该控制器的压缩数据。控制器、显示器和处理器互相通信且该压缩数据存储在该控制器中,使得该压缩数据在控制器与显示器之间的通信离线操作时可用。
本发明的另一方面包括一种数据存储方法,其包括以下步骤:提供控制器和与控制器直接通信的显示器;以预定速率和以预定增量将数据集存储在控制器中;以及将这种数据集压缩到至少一个可管理数据存储中。这种方法还包括:管理这些数据存储以提供当前和最近数据;按照用户请求在显示器上显示至少一个数据存储;以及在控制器和显示器之间的通信在线时在控制器与显示器之间传递数据。
本发明的实施例的优点在于这种系统即便是在通信故障期间也提供可取回数据,因为这种数据存储在控制计算机内,而不是整个网络的各种系统内。
从下面结合附图的对优选实施例的更加详细的描述并结合附图就会明白本发明的其它特征和优点,这些附图通过实例示出了本发明的原理。
附图说明
图1是本发明的过程的流程图。
具体实施方式
本发明涉及数据存储和传输。通过一种控制计算机来收集、压缩和存储数据而不是将数据存储在整个网络系统的许多系统中。
图1示出了根据本发明的数据存储的示意性过程。这种数据存储方法和系统可包括具有压缩数据日志(Compressed Data Log)或CDL10的控制计算机或其它类似的数据存储设备。CDL 10存储来自某些规定的数据变量的数据输入并由此计算统计概括信息,客户在请求时可用该概括信息。所提供的概括信息包括但并不仅限于平均值、标准偏差值、最小值和最大值。本发明包括使这种统计概括信息存储并以网页显示格式显示。
将数据存储并保持在CDL 10内,可用TOOLBOXST应用程序12配置数据。TOOLBOXST程序12用compresseddatalog.pcode文件名称和redsymboltable.pcode文件名称配置由CDL 10收集的数据。然后,CDL 10保持并管理这些日志文件16,这些日志文件16是用于概括信息的单独文件。该控制计算机以预定的存储次数和间隔生成和删除这些日志文件16。用户通过网页浏览接口18与该控制计算机接口。通过这种网页浏览接口向CDL 10进行对特定信息(如开始时间、结束时间和变量名)的数据的网页浏览请求。CDL 10从这些日志文件16取回这种数据。然后由处理器22将这种数据用.xml格式传输至该网页浏览接口18。
在示范性实施例中,这些日志文件16可包括两个独立的数据存储。在替代实施例中,这些日志文件16可包括一个或多个独立的数据存储。第一数据存储是10分钟平均压缩历史数据,这种数据称为“MinAna”数据。这种数据存储包括10分钟时间间隔内的平均的数据以被配置并被存储以容易取回。可用的第二数据存储是一秒钟生成数据,这种数据称为“SecResolution”数据。在该数据存储内该数据以一赫兹的速率被俘获、被存储并被加注时标。用名称、值和时标存储这种数据以容易取回。通常仅将二十四小时的SecResolution数据保持在该第二数据存储内。虽然在此示范性实施例中描述了两个数据存储,但本领字段中熟练的技术人员明白,可将多于或少于两个的数据存储用在本发明。
用户通过网页浏览接口与CDL 10接口并请求数据,从而使命令发送至CDL 10。通过对该CDL进行读呼叫(Io_Read())以获得从这些日志文件16格式化的数据,可得到建立该网页所必需的信息。
要求该日志文件16中的配置文件对CDL 10过程进行配置。这些配置文件含有用于压缩数据收集的变量的定义。此外,该过程的配置允许用户指定CDL 10将尝试保持压缩数据历史的总天数。只要在该日志文件16中有足够的存储空间,CDL 10就会总是保持该配置的时间段内的数据历史。若用于该数据历史的存储空间超过已分配的该日志文件目录16的百分比,则会将较陈旧的压缩数据历史删除,以为新的数据腾出空间。该日志文件16还将以分钟增量配置收集间隔持续时间。
表1提供了可利用CDL 10系统记录的一些数据点的实例:
CH | 信号 | CH | 信号 | CH | 信号 |
01 | Bladel,Actual Value | 25 | Generator Speed | 49 | Temp Gearbox |
02 | Bladel,Set Value | 26 | High Speed Running | 50 | Temp Gearbox B |
03 | Blade 2,Actual Value | 27 | Nacelle Position | 51 | Temp Gearbox Bearing |
04 | Blade 2,Set Value | 28 | Nacelle Revolution | 52 | Temp Generator 1 |
05 | Blade 3,Actual Value | 29 | N-Set1 | 53 | Temp Generator 2 |
06 | Blade 3,Set Value | 30 | N-Set2 | 54 | Temp Gen Cooling Air |
07 | Channel 30 | 31 | Operating State | 55 | Temp Nacelle |
08 | Current Phase A | 32 | Park Power | 56 | Temp Outside |
09 | Current Phase B | 33 | Power | 57 | Temp Shaft Bearing |
10 | Current Phase C | 34 | Power Factor | 58 | Torque,Actual Value |
11 | DI1Main | 35 | Power Factor,Set Value | 59 | Torque,Set Value |
12 | DI1Top | 36 | Reactive Power | 60 | Tower Acceleration |
13 | DI2Main | 37 | Reserve4 | 61 | Tower Deflection |
14 | DI2Top | 38 | Reserve 5 | 62 | T-Transformer 1 |
15 | DI3Top | 39 | Reserve 6 | 63 | T-Transformer 2 |
16 | DI4Top | 40 | Reserve 7 | 64 | T-Transformer 3 |
17 | Digital1 | 41 | Reserve 8 | 65 | Voltage Phase A-N |
18 | Digital2 | 42 | Rotor Speed | 66 | Voltage Phase B-N |
19 | DO1Main | 43 | Scope Ch 1 | 67 | Voltage Phase C-N |
20 | DO1Top | 44 | Scope Ch2 | 68 | Wind Deviation 1sec |
21 | DO2Main | 45 | Scope Ch 3 | 69 | Wind Deviation 10sec |
22 | DO2Top | 46 | Scope Ch4 | 70 | Wind Speed |
23 | Drive Train Accel | 47 | Temp Bearing A | ||
24 | Gen./Gearbox Speed | 48 | Temp Bearing B |
表1
将利用四种方法中的一种平均表1中列出的每个点。第一种方法是数据的线性平均,由代码{1/N*sum(values)}分类。第二种方法是针对基于角度的变量的平均线性角度。这种方法认为零度等于角度的三百六十度环绕。第三种方法是由(cos phi)表示的数据的功率因数的计算。第三种方法有效地计算了在该时间间隔期间每个数据值的反余弦的平均值。返回的值是该平均值的余弦。第四种方法是时间间隔的结尾值。对于这种方法,返回在单位时间间隔期间俘获的最后的值。
该应用程序生成命名为compresseddatalog.pcode的pcode文件,这种文件指定用于CDL 10的配置信息。用于这种pcode文件的代码显示为:
class cCdlConfig
{
public:
cPcodeRecordHeader mRecordHeader;
unsigned short int mMaxCdlDays;//1-30,default 14
unsigned short int mIntervalMinutes;∥1-60,default 10
unsigned short int mCdlLogPercentage;//1-100
}
在该日志文件16中,默认在这些数据日志在计算机中存储14天之后将其删除,且在压缩间隔期间默认存储10分钟的数据。不过,在压缩间隔期间从1至60分钟的任何地方可被存储。保持日志文件16,直到有必要将这些文件清除以进行更多的存储。不过,若超过时间限制或超过存储限制,则也将这些日志文件16清除。例如,可将时间限制设定为14天。若因为所要求的存储空间超过了可用于该数据的日志分区的百分比而有必要将日志文件16清除,则将一种算法用于系统性地删除这些日志文件16,直到存储空间足够。在管理这些日志文件16时,将最陈旧的SecResolution日志文件16一个接一个地清除,直到存储空间足够或者直到仅有12个小时的SecResolution日志文件16存在。若存储空间仍不够,则将MinAna日志文件16一个接一个地清除,直到存储空间足够或直到MinAna日志文件16仅存在(mMaxCdlDays除以2)天。若存储空间仍不够,则将SecResolution日志文件16一个接一个地清除,直到存储空间足够或者直到仅有一个SecResolution日志文件16存在。最后,若存储空间仍不够,则将MinAna日志文件16一个接一个地清除,直到存储空间足够或直到仅有一个MinAna日志文件16存在。为了配置这种变量信息,该ControlST应用程序生成命名为redsymboltable.pcode的pcode文件,显示为:
其中,mToken是用于指定阵列的变量令牌标识符。这些阵列可用于访问网。MName是这种变量的名称,且代码mCdlAvgMthod可具有与其关联的五个变量0至4中的一个。若使用0,则这种变量并不用于CDL 10平均或24小时/1秒分辨记录。1意味着使用平均线性变量。2意味着使用平均线性角度。3意味着使用平均余弦phi。4意味着使用数据快照。代码mDesc是点描述串。
可在将文件以XML格式22传输至网接口时经由网接口18访问来自这些日志文件16的数据。不过,本领字段中熟练的技术人员往往会理解,可将任何适当的文件格式用于传输和存储。用户指定时间范围或序号以及用于获取和存储数据18的方法。例如,顾客可请求以MinAna限制信息的数据18。作为回应,顾客可接收取回指明了最陈旧的记录的最陈旧时标、最新时标和序号和/或最新记录的序号的信息。
在请求限制信息时,将http://接口用于获取和显示所请求的数据。用于每次请求的IP串包括以下IP串。为了取回和显示10分钟MinAna数据的摘要,使用IP串
http://172.20.101.85/cgi-bin/mk6e-readdynamicxml?file=cdl.xml&type=0&data=0。
为了取回和显示1秒钟SecRes数据的摘要,使用IP串
http://172.20.101.85/cgi-bin/mk6e-readdynamicxml?file=cdl.xml&type=0&data=1。
为了取回和显示所有的MinAna数据,使用IP串
http://172.20.101.85/cgi-bin/mk6e-readdynamicxml?file=cdl.xml&type=4&data=0&p1=1&p2=2147483647。
IP串
http://172.20.101.85/cgi-bin/mk6e-readdynamicxml?file=cdl.xml&type=4&data=1&p1=1&p2=2147483647
用于取回和显示所有的SecRes数据,且IP串
http://172.20.101.85/cgi-bin/mk6e-readdynamicxml?file=cdl.xml&type=6&data=0&p1=1&p2=2147483647
用于取回和显示所有的MinAna数据。此外,时间序号
http://172.20.101.85/cgi-bin/mk6e-readdynamicxml?file=cdl.xml&type=6&data=1&p1=1&p2=2147483647
用于请求和显示所有的SecRes数据。而且IP串
http://172.20.101.85/cgi-bin/mk6e-readdynamicxml?file=cdl.xml&type=3&data=1&P1=1&P2=2147483647&var=
TestReal1
用于显示与变量TestReal1有关的所有数据。
在上述每个代码行中,在用户要求的指定数据的基础上对该IP串代码进行修改,例如,一种样本IP代码显示为:
http://172.20.101.85/cgi-bin/mk6e-readdynamicxml?file=cdl.xml&type=6&data=1&p1=1&p2=2147483647。
应用用户的指定URL替代IP串的部分“172.20.101.85”。用户URL可以是名称或数字,不过,若使用名称,则必须在%windir%\system32\drivers\etc\hosts文件中作入口。显示为“data=1”的IP串的部分(如在上述样本中)表明使用MinAna数据还是SecRes数据。若Data=0,则使用10分钟的MinAna数据。若代码包括“data=1”,则使用1秒钟的是SecRes数据。仍参看上述样本代码,可在用户的指定要求的基础上对“type=6”进行修改。可将这种类型指定为从0至6的任何数字。此外,使用P1或P2指明用户所期望的数据量。例如,0请求已存储的序号和时标的摘要,1、2、4或5列出以时标的记录,且3或6列出以序号的记录。当使用4时,P1指明开始时标且P2指明结束时标。当使用5时,P1指明开始时标且P2指明这些变量的计数。当使用6时,P1指明开始序号且P2指明这些变量的计数。而且,类型1和2与类型4或5相同,但必须将所期望的变量的名称以“&var=NameOfVariableDesired”格式加到IP串。类型3与类型6相同,且必须将用户所期望的变量也加到该IP串。仍参看上述样本代码,P1和P2的使用指明开始时标和结束时标。用于P1和P2的这些变量可以是负值。在将负值用于P1和P2时,赋予这些变量不同的意义。参看下面的表2中使用负值时这些变量的意义:
情况 | 负值时的意义 |
P1=开始时标 | 在此之前的以秒计的时间 |
P2=结束时标 | 在此之前的以秒计的时间 |
P1=开始序号 | 在当前序号之前的序号 |
P2=计数 | 计数不应为负值。不返回数据。 |
表2
例如,样本IP串
“http://cdl test/cgi-bin/mk6e-readdynamicxml?file=cdl.xml&type=3&data=0&p1=-9&p2=10&var=x”请求变量“x”的十个最近的10分钟平均时间间隔内的数据。当用户请求最近的数据时,用户输入“data=1”和以负值的P1或P2。用户可请求未保存到该系统的数据。在此情形中,对这种数据的请求导致CDL触发至该系统的缓存刷新(cache flush),这样就可取回所有最近的数据。若在生成数据或将数据保存到系统时的5秒钟之内重复数据请求,则不需要这些缓存刷新请求。
对存储的数据有几种限制。这些限制包括开始限制、开始时戳限制、结束限制时戳限制和时间间隔最小值。开始限制提供保存在CDL10文件中的最早序号。结束限制提供保存在CDL 10文件中的最近序号。开始时戳限制是非负整数,该非负整数是以时戳格式的最陈旧可用时间值的秒字段。结束限制时戳限制是在最新的可用时间值的秒字段内的非负值整数。
每秒一次收集这些指定的点的数据值。用几种递归方法将压缩结果存储在存储中。在每个时间间隔的结束分析并平均每个点的一秒钟数据值。对于列于上述表指定每个点,所计算的MinAna数据是一种平均值,其中每个指定的点使用在这种配置中指定的四种平均方法中的一种并以浮点或双精度型来存储。利用一种运行平均计算这种平均值,其中时间间隔的第一数据点和平均值等于单个数据值,表示为M(1)=x(1)。在将另外的数据点加到该时间间隔时,通过M(k)=M(k-1)+((x(k)-M(k-1))/k)计算平均值,其中,M(k)是在k数据点之后计算的平均值,且x(k)是进行平均的第k个数据值。
将这种数据的标准偏差以浮点或双精度型存储。利用一种运行平均计算这种标准偏差。对于时间间隔的第一数据点,平均值等于单个数据值S(1)=0。在将另外的数据点加到该时间间隔时,通过S(k)=S(k-1)+((x(k)-M(k-1)×x(k)-M(k)))计算S,其中,M(k)是在k数据点之后计算的平均值,且x(k)是进行平均的第k个数据值。在已计算该时间间隔内的所有“n”数据点的S之后,通过∑=sqrt(S(n)/(n-1))计算标准的偏差∑,其中,sqrt(x)是x的平方根。
利用与这些变量相同的数据类型存储最大值和最小值。将在该时间间隔期间俘获的数据值的总数作为无符号整数存储。类型2数据点认为零度等于角度的360度环绕。对于每个LinearAngle数据点,将方向向量分解成其相应的x和y分量。这些x和y分量具有分别计算的平均值和标准偏差。在计算平均值和标准偏差之后,从所计算的这些x和y分量确定最终的合成向量。在这些x和y分量均精确地为零的极端不可能的情形中,给这种合成方向任意分配零度的方向。对于类型3数据点,首先用y=(abs(x)/x)×arccos(abs(x))计算平均值和标准偏差,其中,x是进行平均的类型3值。然后像前面所描述的那样对y计算平均值和标准偏差。合成的平均值用表示。利用等式将最终的结果还原,其中是所计算的平均值。类型4数据点用于时间间隔末尾值。将在指定时间间隔期间俘获的最后的值作为该“平均值”返回。标准偏差也总是为零。
每10分钟将数据存储到该闪存文件系统,用(或配置成)“时间间隔开始”分隔符、“序号”记录或时标指定时间间隔结束的时间。。在完成每个时间间隔时,在将数据写到该闪存文件系统之前利用配置用于每个点的方法计算平均值、标准偏差、最小值和最大值。
若无CDL 10日志文件或若最近的CDL 10日志文件已满或若当前数据的时标对应于不同于之前数据的时标的四小时时间间隔,则生成新的CDL 10日志文件。用于数据存储的四小时时间间隔是00:00:01至04:00:00、04:00:01至08:00:00、08:00:01至12:00:00、12:00:01至16:00:00、16:00:01至20:00:00和20:00:01至00:00:00。若不生成新的CDL 10日志文件,则会将新的时间间隔数据增补到最近的现有日志文件。若CDL 10日志文件含有数据4小时或更长(名为为24个时间间隔),则认为CDL 10日志文件已满。CDL 10MinAna日志文件是一种具有单个首标(header)的ASCII文件,该单个首标之后紧随的是写入的1与24之间的时间间隔组。该首标含有在文件中随后找到的序号和时标记录的摘要。时间间隔组总是包括“时间间隔的开始”记录、多“点数据”记录和“时间间隔的结束”记录,该“时间间隔的开始”记录含有“序号”和“时标”。这些记录中的每一个具有单个的大写字母ASCII字符以定义该记录,之后是字符“|”,然后是记录专用ASCII数据。“时间间隔的开始”记录以ASCII“S”开始,之后是ASCII“|”,然后是用十六进制表示的时间间隔序号的ASCII表示,然后是ASCII“|”,然后是用十六进制表示的时标秒数的ASCII表示,然后是ASCII返回。
序号无符号且可从0开始至4294967295进行选择。一旦已达到4294967295,则将该序列重新从0开始并以每次时间间隔(标称为10分钟)递增1。时标表示自1970年1月1日起的UTC秒数。“V”记录定义了该间隔的变量数据。“V”之后是ASCII“|”,然后是该变量名称的ASCII表示,然后是7个数据值,均示以ASCII。这7个值表示压缩方法、该间隔内的平均值、标准偏差、最小值、最大值、数据样本的计数和在该间隔期间内有效的数据样本计数。每个字段由ASCII“|”隔开,并且用十进制格式表示。最后,用“E”记录终结每个间隔,这种“E”记录是一种后面跟着ASCII“返回”的ASCII“E”。
CDL 10管理日志文件和压缩的历史数据。将每个日志文件设成保持四小时的压缩数据。这些日志文件的大小随着在四小时时间段期间所存储的数据量的函数。对于每10分钟收集数据的典型的75点CDL 10点目录(point list),这种日志文件的标称大小为~110kb。若点的数量增加或若时间间隔减小,则文件大小增加。若点的数量减少或若时间间隔增加,则文件大小减小。CDL 10通常试图针对配置成14天存储的系统保持84个CDL MinAna日志文件(14天×24小时/天×1/4个文件/小时=84个文件)。若指定少于14天或所要求的控制器的日志分区内的空间超过这种配置中所允许的百分比,则这种数量减小。
假设压缩数据时间间隔为MM分钟,用以下代码计算由存储的VV个数据变量的DD天的压缩的数据存储所要求的估计的存储空间:
对于文件头:
87
对于S记录:
20
对于V记录:
62
对于E记录:
2
对于每个时间间隔:
XX=20+(VV×62)+2
对于每个文件:
FF=87+XX×240/MM
对于总CDL MinAna存储:
TT=DD×6×FF
实例:
DD=14天
VV=75个变量
MM=10分钟
XX=20+(75×62)+2=4672
FF=87+4672×240/10=112215
TT=14×6×112215=9426060≈9mb
出于文件大小上舍入的原因,可要求更多的闪存上的实际空间。
外面的客户通过指定上传数据的类型请求CDL 10数据。有七种用于MinAna数据的日志查询的格式。RequestType零请求取回可用数据的摘要并给出时标和序号限制。返回的数据向请求方通知由CDL 10存储在日志分区内的最早的和最近的时标。且还返回存储的最低和最高序号以及用于数据收集的以分钟计的间隔时间。其它的六个请求取回指定数据,而请求方指定所期望的时间范围或序号说明和变量,且CDL 10将可用的指定的数据返回。
CDL 10在适当范围内搜索日志文件。当CDL 10程序正在搜索日志文件时,该日志文件的所有删除暂停。这就避免了在上传过程中将这种日志文件删除。在从日志文件的读出完成时,CDL 10程序检查以看是否已将该文件标记以删除。若有,则将该文件删除。若基于开始和结束时标对数据进行搜索,则进行RequestType 1或4以在CDL 10日志中查找开始点。以序号次序将该数据返回,直到访问所有的文件或直到在指定的结束时间之后达到时标。若已将控制器中的时间向后设置,则利用这种方法可能不会将数据返回。RequestType 2或5可用于避免这种问题。
对于数据上传过程而言,CDL 10程序向网服务器提供数据。CDL10程序提供一种资源管理程序,这种资源管理程序允许CGI命令读出可传输至外界的合理格式化的XML。该资源管理程序提供生成该XML的读访问。提供一种devctl以允许CGI命令指定在传输数据时使用的开始和结束时戳参数。在上传过程中并不停止对日志的写入。用于CDL 10程序的日志文件可有几千字节大,因此,不可能将整个文件读入存储器(memory)中进行处理。当请求到达要上传数据时,CDL 10程序导向每个文件中适当的区域并读出以分段计的文件以进行格式化并传送至请求方。根据日志的大小,导向日志中适当的位置可能是一种冗长的过程。有必要进行优化以确保可以接受上传次数。
将所有的MinAna数据存储在单个日志目录中,即/LOG/CDL/MinAna。给所存储的每个数据记录分配独特的变量名称。这就允许该程序能够区分日志中的数据。为了尽可能多地限制文件的大小并限制文件有损情况下的数据丢失,采用一种多文件数据建库方案。当文件到达四小时间隔的结尾或正在存储四小时的CDL 10数据时,创建新的文件并写新的日志入口(log entry)。将该动作继续,直到创建预定数量的文件。文件的数量等于由TOOLBOXST应用程序所配置的CDL 10存储的天数乘以六。当最后的文件到达其最大大小时,检查上传过程是否从第一个文件进行。若没有上传,会将第一个文件删除。在要求删除时而上传从第一个文件进行的情况下,在上传完成之后会由上传线程删除上传。CDL 10程序保持来自每个文件的索引信息。这种信息定义了文件中最早的时戳、文件中最近的时戳和存在的序号的范围。这种信息允许CDL 10程序在已请求数据上传时快速到达适当的文件。
利用文件名称排序日志文件,其包括索引。例如,代码:
MinAna_00000001、MinAna_00000002、…MinAna_fffffff可用于排序日志文件。索引递增直到索引到达MinAna_fffffff,在该点,将索引重设为00000001。
每秒一次以一赫兹的速率收集这些点的数据值,并将未压缩结果存储在存储器中。本领域中技术人员明白,也可使用其它任何适当的速率。对闪存的周期性刷新写至少每10分钟出现一次。该数据包括“时间间隔开始”分隔符、“序号”记录和时标,UTC时间自1970年1月1日起以秒计的时间。最后,有一种指定记录的结束的分隔符。
CDL 10SecResolution日志文件是一种具有单个首标的ASCII文件,该单个首标之后紧随的是写入的1与~1200之间的时间组。该首标含有以后在文件中找到的序号和时标记录的摘要。CDL 10管理需要压缩数据历史的日志文件。将每个日志文件设成用于容纳20分钟的压缩数据。这些日志文件的大小是20分钟时间段期间所存储的数据量的函数。对于典型的75点CDL 10点目录来讲,这种日志文件的标称大小为1748kb。若点的数量增加,则文件大小增加。若点的数量减少,则文件大小减小。CDL 10通常保持72个CDL SecResolution日志文件以用于配置成24小时的存储的系统(24小时/天×3个文件/小时=72个文件)。若所要求的在控制器的日志分区的空间超过这种配置中所允许的百分比,则这种数量减小。
假设每个数据文件20分钟,用以下代码确定对于通过所存储的VV个数据变量而要求的1天的数据存储的估计的存储空间:
对于文件首标而言:
142个字节
对于S记录而言:
20个字节
对于V记录而言:
20个字节
对于E记录而言:
2个字节
对于每个时间间隔而言:
XX=20+(VV×20)+2
对于每个文件而言:
FF=142+XX×20×60
对于总CDL MinAna存储而言:
TT=3×24×FF
实例:
VV=75个变量
XX=20+(75×20)+2=1522
FF=142+1522×20×60=1826542≈1784kb
TT=2×24×1837342=131511024≈125mb
出于文件大小上舍入的原因,可要求闪存上的更多的实际空间。
外部客户通过指定上传数据的类型请求CDL 10数据。有七种用于SecResolution数据的日志查询的格式。如果给出时标和序号限制,RequestType零请求取回可用数据的摘要。返回的数据使请求方获知由CDL 10存储在日志分区内的最早的和最近的时标。还返回存储的最低和最高序号以及用于数据收集的以分钟计的间隔时间。其它的六个请求取回指定数据。请求方指定所期望的时间范围或序号说明和变量,且CDL 10将可用的指定的数据返回。CDL 10在适当范围内搜索日志文件。当CDL 10程序正在搜索日志文件时,该日志文件的所有删除暂停。这就避免了在上传进行时日志系统从该日志文件删除。在从日志文件的读出完成时,CDL 10程序对是否已将该文件标记以删除进行检查。若有,则将该文件删除。若以开始和结束时标为基础对数据进行搜索,则进行RequestType 1或4以在CDL 10日志中查找开始点,且以序号次序将该数据返回,直到访问所有的文件或直到在指定的结束时间之后达到时标。若已将控制器中的时间向后设置,则利用这种方法可能不会将数据返回。RequestType 2或5可用于避免这种问题。
将所有的SecResolution数据存储在单个日志目录中,即LOG/CDL/SecRes。给所存储的每个数据记录分配独特的变量名称。这就允许该程序区分日志中的数据。为了尽可能多地限制文件的大小并限制文件有损情况下的数据丢失,采用一种多文件数据建库方案。当文件到达20分钟间隔的结尾或正在存储20分钟的CDL 10数据时,就生成新的文件并将新的日志记录写到这种新的文件。将这种动作继续,直到生成预定数量的文件,优选72个文件。当最后的文件到达其最大大小时,检查上传是否从第一个文件进行。若无上传进行,会将第一个文件删除。在要求删除时上传从第一个文件进行的情况下,在上传完成之后由上传线程删除上传。利用文件名称排序日志文件,这种排序包括索引。例如,SecRes_00000001.log、SecRes_00000002.log、…MinAna_fffffff.log。将该索引递增,直到该索引到达fffffff,此时,将该索引预设至00000001。
虽然已参考优选实施例对本发明进行了描述,但本领域中熟练的技术人员会理解,在并不背离本发明的范围的前提下,可进行各种变化,并可对这些变化的等同描述的要素进行替代。此外,在并不背离本发明的实质范围的前提下,可进行许多修改,以使特定情形或材料适合于本发明的教导。因此,本发明并不旨在仅限于作为设计用于实现本发明的最佳方式的所公开的特定实施例,而是本发明将包括在所附的权利要求书的范围内的所有实施例。
Claims (19)
1.一种数据存储系统,包括:
控制器,其配置成收集和压缩数据,所述控制器包括在线操作和离线操作,所述在线操作需要访问联网系统以取回数据,所述离线操作不需要访问联网系统以取回数据;
显示器,其配置成用于显示所压缩的数据;以及
处理器,其设置在所述控制器中,所述处理器具有多个数据存储以存储由所述控制器压缩的数据;
其中,所述控制器、显示器和处理器相互通信且所述压缩的数据采用压缩数据日志的形式存储在所述控制器中,执行所述离线操作时所述压缩数据日志由所述控制器可访问。
2.如权利要求1所述的数据存储系统,其中:所述控制器为计算机,且所述显示器为监视器。
3.如权利要求2所述的数据存储系统,其中:所述压缩的数据在网页显示器中可用。
4.如权利要求2所述的数据存储系统,其中:所述处理器具有两个数据存储。
5.如权利要求4所述的数据存储系统,其中:所述两个数据存储为MinAna数据存储和SecResolution数据存储。
6.如权利要求5所述的数据存储系统,其中:所述MinAna数据存储包括来自在最小1分钟间隔和最大60分钟间隔内平均的平均压缩历史数据的数据。
7.如权利要求5所述的数据存储系统,其中:所述SecResolution数据存储是以预定速率被俘获、被存储并且被标注时标的一秒钟生成数据。
8.如权利要求7所述的数据存储系统,其中:所述预定速率为一赫兹。
9.如权利要求4所述的数据存储系统,其中:所述数据以名称、值和时标来存储以便容易取回,所述数据对应于来自机舱位置、机舱转速、转子速度或风速的信号。
10.如权利要求5所述的数据存储系统,其中:所述数据存储具有存储最多相当于30天的数据的容量。
11.如权利要求3所述的数据存储系统,其中:所述数据是包括平均值、标准偏差值、最小值和最大值中至少一个的统计概括信息。
12.一种数据存储方法,其包括下列步骤:
提供配置成用于收集和压缩数据的控制器,所述控制器包括在线操作和离线操作,所述在线操作需要访问联网系统以取回数据,所述离线操作不需要访问联网系统以取回数据,所述控制器包括在其中设置的处理器,所述处理器与所述控制器通信并且具有多个数据存储以存储由所述控制器压缩的数据;
提供与所述控制器直接通信的显示器;
执行所述离线操作,其中所述数据存储方法还包括:
在所述控制器中以预定增量并且以预定速率存储数据集合;
将所述数据集合压缩到至少一个可管理的数据存储中;
管理所述至少一个可管理的数据存储以提供当前以及最近数据;
在用户请求时在显示器上显示所述至少一个数据存储;以及
在所述控制器、显示器和所述至少一个数据存储之间传递数据。
13.如权利要求12所述的方法,其中所述控制器是计算机,并且所述显示器是监视器。
14.如权利要求13所述的方法,其中将所述数据集合压缩到至少一个可管理的数据存储中的所述步骤包括将所述数据集合压缩到MinAna数据存储和SecResolution数据存储中。
15.如权利要求14所述的方法,其中所述SecResolution数据存储是以预定速率被俘获、被存储并且被标注时标的一秒钟生成数据。
16.如权利要求14所述的方法,其中所述SecResolution数据存储仅保持二十四小时的SecResolution数据。
17.如权利要求13所述的方法,其中将所压缩的数据集合作为压缩数据日志的形式存储,所述压缩数据日志在其存储14天之后被删除。
18.如权利要求17所述的方法,其中将较陈旧的压缩数据历史删除,以为新的数据腾出空间。
19.如权利要求13所述的方法,其中所述数据集合包括群组中至少其中之一,所述群组包括:数据值的平均、数据值的标准偏差、数据值的最小值和数据值的最大值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/942,863 US7966318B2 (en) | 2007-11-20 | 2007-11-20 | Compressed data storage to provide recent and summary data |
US11/942863 | 2007-11-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101446951A CN101446951A (zh) | 2009-06-03 |
CN101446951B true CN101446951B (zh) | 2016-08-17 |
Family
ID=40276107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810176862.4A Expired - Fee Related CN101446951B (zh) | 2007-11-20 | 2008-11-20 | 用于提供最近和摘要数据的压缩数据存储 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7966318B2 (zh) |
EP (1) | EP2065811A1 (zh) |
CN (1) | CN101446951B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7966318B2 (en) * | 2007-11-20 | 2011-06-21 | General Electric Company | Compressed data storage to provide recent and summary data |
US20140172813A1 (en) * | 2012-12-14 | 2014-06-19 | Microsoft Corporation | Processing user log sessions in a distributed system |
SE538512C2 (sv) * | 2014-11-26 | 2016-08-30 | Kelicomp Ab | Improved compression and encryption of a file |
JP6516592B2 (ja) * | 2015-06-30 | 2019-05-22 | キヤノン株式会社 | データ処理装置、データ処理装置の制御方法、及びプログラム |
CN108255981B (zh) * | 2017-12-28 | 2020-05-22 | 国网江苏省电力有限公司电力科学研究院 | 连续时间段时间戳序号索引分钟冻结的存储和查找方法 |
CN110688362A (zh) * | 2019-08-27 | 2020-01-14 | 浙江浙大中控信息技术有限公司 | 基于时间戳的数据分段式存储方法 |
US11199175B1 (en) | 2020-11-09 | 2021-12-14 | General Electric Company | Method and system for determining and tracking the top pivot point of a wind turbine tower |
US11703033B2 (en) | 2021-04-13 | 2023-07-18 | General Electric Company | Method and system for determining yaw heading of a wind turbine |
US11536250B1 (en) | 2021-08-16 | 2022-12-27 | General Electric Company | System and method for controlling a wind turbine |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182122B1 (en) * | 1997-03-26 | 2001-01-30 | International Business Machines Corporation | Precaching data at an intermediate server based on historical data requests by users of the intermediate server |
CN1846212A (zh) * | 2003-09-03 | 2006-10-11 | 国际商业机器公司 | 利用移动设备的离线浏览 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7200666B1 (en) | 2000-07-07 | 2007-04-03 | International Business Machines Corporation | Live connection enhancement for data source interface |
KR100398711B1 (ko) | 2000-11-08 | 2003-09-19 | 주식회사 와이즈엔진 | 동적 데이터를 포함한 멀티미디어 콘텐츠의 실시간 통합및 처리 기능을 갖는 콘텐츠 출판 시스템 및 그 방법 |
US7386046B2 (en) * | 2001-02-13 | 2008-06-10 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
JP4646624B2 (ja) * | 2002-05-10 | 2011-03-09 | オラクル・インターナショナル・コーポレイション | リレーショナルデータを圧縮格納フォーマットに格納および問合せすること |
US6925385B2 (en) * | 2003-05-16 | 2005-08-02 | Seawest Holdings, Inc. | Wind power management system and method |
US7599939B2 (en) * | 2003-11-26 | 2009-10-06 | Loglogic, Inc. | System and method for storing raw log data |
EP1877881A4 (en) * | 2005-04-29 | 2011-04-20 | Fat Spaniel Technologies Inc | COMPUTER-IMPLEMENTED SYSTEMS AND METHODS FOR STARTING, CALIBRATION AND TROUBLESHOOTING OF A RENEWABLE ENERGY SYSTEM INSTALLED |
US20070063866A1 (en) * | 2005-06-02 | 2007-03-22 | Andisa Technologies, Inc. | Remote meter monitoring and control system |
CN1904882A (zh) * | 2005-07-26 | 2007-01-31 | 北京九州汇宝软件有限公司 | 数据库近线数据的压缩方法 |
US7966318B2 (en) * | 2007-11-20 | 2011-06-21 | General Electric Company | Compressed data storage to provide recent and summary data |
-
2007
- 2007-11-20 US US11/942,863 patent/US7966318B2/en not_active Expired - Fee Related
-
2008
- 2008-11-06 EP EP08168470A patent/EP2065811A1/en not_active Withdrawn
- 2008-11-20 CN CN200810176862.4A patent/CN101446951B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182122B1 (en) * | 1997-03-26 | 2001-01-30 | International Business Machines Corporation | Precaching data at an intermediate server based on historical data requests by users of the intermediate server |
CN1846212A (zh) * | 2003-09-03 | 2006-10-11 | 国际商业机器公司 | 利用移动设备的离线浏览 |
Also Published As
Publication number | Publication date |
---|---|
CN101446951A (zh) | 2009-06-03 |
US20090132567A1 (en) | 2009-05-21 |
US7966318B2 (en) | 2011-06-21 |
EP2065811A1 (en) | 2009-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101446951B (zh) | 用于提供最近和摘要数据的压缩数据存储 | |
US6964040B2 (en) | Optimizing storage and retrieval of monitoring data | |
US7606843B2 (en) | System and method for customizing the storage and management of device data in a networked environment | |
CN104216989B (zh) | 一种基于HBase的输电线路综合数据存储方法 | |
US7783615B1 (en) | Apparatus and method for building a file system index | |
DE60313567T2 (de) | Zugriffsrelayvorrichtung | |
US7805416B1 (en) | File system query and method of use | |
CN106649627B (zh) | 一种日志查找的方法和装置 | |
US9043184B1 (en) | System and method for identifying underutilized storage capacity | |
CN100442290C (zh) | 访问标识索引系统及访问标识索引库生成方法 | |
US20060184498A1 (en) | System and Method for Efficiently Obtaining a Summary from and Locating Data in a Log File | |
US8200635B2 (en) | Labeling electronic data in an electronic discovery enterprise system | |
US20040034653A1 (en) | System and method for capturing simultaneous audiovisual and electronic inputs to create a synchronized single recording for chronicling human interaction within a meeting event | |
US20050223277A1 (en) | Online storage system | |
JP2007516504A (ja) | リアルタイムデータを格納し、検索し、表示するための構成 | |
US20120173720A1 (en) | System and method for social inference based on distributed social sensor system | |
CN101958837A (zh) | 日志处理系统、日志处理方法、节点服务器和中心服务器 | |
EP2357581A3 (en) | Apparatus and Method for Processing Information Concerning Biological Condition, System, Program and Recording Medium for Managing Information Concerning Biological Condition | |
CN103401725A (zh) | 基于云存储的跨平台设备监测系统及其监测方法 | |
CN102984244A (zh) | 单据数据的上传系统和上传方法 | |
CN108255926A (zh) | 一种基于甘特图的法律事务管理方法和系统 | |
CN101515267A (zh) | 网络媒体智能编目系统 | |
CA2391166A1 (en) | Methods and systems for managing supply chain processes | |
CN101458701B (zh) | 数据检索装置以及数据检索方法 | |
JP5447484B2 (ja) | 情報処理装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160817 Termination date: 20181120 |
|
CF01 | Termination of patent right due to non-payment of annual fee |