CN111566627A - 信息蓄积装置、数据处理***及程序 - Google Patents

信息蓄积装置、数据处理***及程序 Download PDF

Info

Publication number
CN111566627A
CN111566627A CN201880072347.3A CN201880072347A CN111566627A CN 111566627 A CN111566627 A CN 111566627A CN 201880072347 A CN201880072347 A CN 201880072347A CN 111566627 A CN111566627 A CN 111566627A
Authority
CN
China
Prior art keywords
data
file
index
time
information
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.)
Granted
Application number
CN201880072347.3A
Other languages
English (en)
Other versions
CN111566627B (zh
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN111566627A publication Critical patent/CN111566627A/zh
Application granted granted Critical
Publication of CN111566627B publication Critical patent/CN111566627B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/156Query results presentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

对于由设备(30)生成的数据,在按照生成了该数据的时刻顺序到达的情况下,按照数据到达的顺序向实际数据记录部(12b)进行追记(写入),并且将追记至该实际数据记录部(12b)的数据被生成的时刻、数据大小以及实际数据文件中的追记位置,作为索引信息追记至具有与记录了该数据的实际数据文件对应的文件名的索引文件(12a)。

Description

信息蓄积装置、数据处理***及程序
技术领域
本发明涉及一种能够高速地读写IoT数据的信息蓄积装置、数据处理***及程序。
背景技术
近年来,在将能够取得各种数据的传感器等各种设备连接于网络而构成的***中,对所述设备生成的数据进行了灵活运用的IoT(Internet Of Things)正在受到关注。
在使用了IoT的***中,从各种设备持续地或者定期地取得数据,因此,需要能够高速地对随时间经过而依次生成的大量数据进行写入/读出的数据库。
另外,在使用了IoT的领域中,大量地使用各种设备取得各种数据的情况较多,因此要求所使用的设备是廉价的。因此,大多难以利用具有大容量存储器的昂贵的设备。
另一方面,作为写入随时间经过而依次生成的数据的数据库,以往利用了PostgreSQL等追记型数据库(例如,参照非专利文献1)。
在一部分追记型数据库中,在数据向盘写入时,有时进行索引创建等处理。这里,索引是指以更快地对写入文件的数据进行检索或者提取的方式制作的检索数据。
通常,如果针对从应用请求了写入的数据而生成的索引的数量、种类增加,则与该索引的数量、种类相应地索引的生成、索引数据的写入成为整个写入处理的开销(overhead)。
另外,由于数据的大小不限于固定长度,因此如果在数据的写入时不进行特别的处理而进行追记,则在读出时需要数据的线性搜索的运算量O(n),存在与数据的增加相应地读出速度变慢的问题(例如,参照非专利文献2)。
数据写入时的索引生成等处理提高数据的读出速度,但在面向IoT的数据库中,为了确保写入速度,希望尽可能减小数据写入时的处理负荷。
非专利文献1:赤間浩樹,et al.”追記·参照型データ管理システムの設計と評価,”情報処理学会論文誌49.2(2008):749-764.
非专利文献2:大駒誠一,西村恕彦,and昆野誠司,”情報検索特集号:ファイルの蓄積と探索,”情報処理7.6(1966).
发明内容
作为IoT数据的特性,存在如下特征,即,对于随时间经过而由设备依次生成的数据,只要没有在通过网络等期间改变顺序,则以该生成的顺序到达数据库。
另外,在IoT中,对时刻进行指定而从数据库读出需要的数据的情况较多,因此要求基于时刻的检索以及读出处理高速的数据库。特别地,由于参照最近时刻的最新值的应用程序较多,因此最新值的读出速度为高速也很重要。
这样,在使用了IoT的领域中,要求如下的数据库,即,能够将由所述设备随时间经过而依次生成、并按照所生成的时刻顺序到达的数据高速地写入数据库,并且通过日期、时刻等信息(特定的时刻、时刻范围以及最近的时刻)的指定而高速地检索、读出数据。
如上所述,在现有技术中,使用了通过使数据库的存储区域上具有索引而进行读出的高速化的方法,但索引的大小和检索性能存在折衷关系。
并且,由于IoT所使用的数据量庞大,因此索引当然变得庞大。因此,存在难以进行节省存储器的处理的课题。
并且,作为次要课题,IoT有时在共通的数据库中处理所述设备生成的数据和与其相比数据量大的图像、动画等媒体数据,但这些数据因数据大小、特性的差异而存在难以通过共通的结构进行蓄积的问题。
本发明是鉴于上述课题而提出的,其目的在于提供一种信息蓄积装置、数据处理***以及程序,第一,通过将写入时的处理限定在最小限度,能够节省存储器并且高速地读写数据,第二,能够在共通的数据库中高速地对设备生成的数据和图像等媒体数据进行读写。
本发明所涉及的信息蓄积装置具有:索引记录部,其记录索引文件,该索引文件包含索引信息,该索引信息是包含生成了数据的时刻和记录该数据的位置信息在内的数据串,分别按照生成了所述数据的时刻顺序配置,所述索引文件设为与所述生成的数据的时刻相应的文件名;实际数据记录部,其对在所述索引信息所记述的所述位置信息中写入所述数据的实际数据文件进行记录,该实际数据文件具有文件名,该文件名具有能够以第1计算量与所述索引文件的文件名唯一且相互关联的规则;写入处理部,其将所述数据写入所述实际数据文件,将在该实际数据文件中写入了数据的位置信息以及生成了所述数据的时刻作为索引信息写入所述索引文件;以及读出处理部,如果基于时刻指定了作为读出对象的数据,则该读出处理部基于包含与该时刻对应的文件名在内的所述索引文件内的索引信息,从所述实际数据文件读出数据。
根据本发明,第一,通过将写入时的处理限定在最小限度,能够节省存储器并且高速地读写数据,第二,能够在共通的数据库中高速地对设备生成的数据和图像等媒体数据进行读写。
附图说明
图1是表示具有实施方式的信息蓄积装置10的数据处理***的图。
图2是表示在所述信息蓄积装置10的外部配置了数据记录部12的情况的图。
图3是表示将在所述信息蓄积装置10所设置的索引记录部12a中储存的n个索引文件(1~n,n:自然数)作为一个例子的图。
图4是表示在所述信息蓄积装置10所设置的实际数据记录部12b中储存的n个实际数据(1~n,n:自然数)的图。
图5是表示在所述实际数据记录部12b中储存了BLOB数据的情况下的n个实际数据(1~n、n:自然数)的图。
图6A是表示在所述信息蓄积装置10的写入处理中使用的处理步骤(初始化处理)的流程图。
图6B是表示在所述信息蓄积装置10的写入处理中使用的处理步骤(子程序)的流程图。
图6C是表示在所述信息蓄积装置10的写入处理中使用的处理步骤(子程序)的流程图。
图7是表示所述信息蓄积装置10的数据d的写入处理的流程图。
图8A是表示在所述信息蓄积装置10的数据d的读出处理中使用的处理步骤(子程序)的流程图。
图8B是表示在所述信息蓄积装置10的数据d的读出处理中使用的处理步骤(子程序)的流程图。
图8C是表示在所述信息蓄积装置10的数据d的读出处理中使用的处理步骤(子程序)的流程图。
图9是表示写入所述实际数据记录部12b的数据d的读出处理的流程图。
图10A是表示用于执行所述信息蓄积装置10的所述数据d的读出处理的处理步骤(子程序)的流程图。
图10B是表示用于执行所述信息蓄积装置10的所述数据d的读出处理的处理步骤(子程序)的流程图。
图11是表示对写入所述实际数据记录部12b的数据d进行读出的处理的流程图。
具体实施方式
下面,参照附图说明本发明的实施方式所涉及的信息蓄积装置、数据处理***以及程序。
图1是表示具有实施方式的信息蓄积装置10的数据处理***的结构的功能框图。
所述数据处理***包含信息蓄积装置10、消息代理20、设备30(传感器)(30a~30c)、Web服务器40以及应用程序50(50a~50c)而构成。
设备(传感器)30(30a~30c)相当于数据生成装置,该数据生成装置具有生成持续地或者定期地测量出的各种数据d和测量该数据d的时刻t、发送给消息代理20的功能。下面,将设备(传感器)30简称为设备30。
在本实施方式中,利用将从该设备30发送的数据d按照生成的顺序向消息代理20发送这一IoT独自的特性,通过信息蓄积装置10管理这些数据d。
因此,所述设备30成为不需要将向信息蓄积装置10发送的数据d以及时刻t蓄积于设备30内部的结构。
由此,在本数据处理***中,能够采用廉价的设备30。
消息代理20具有接收由所述设备30生成的数据d以及生成了该数据d的时刻t(下面,有时称为生成时刻t)、将该数据d和时刻t发送至信息蓄积装置10内的功能。
所述信息蓄积装置10具有如下功能,即,按照基于所述设备30的生成时刻t,将从消息代理20接收到的数据d写入数据记录部12;以及按照经由所述Web服务器40的来自应用程序50的指定了时刻t的数据读出请求,从所述数据记录部12读出数据d。
如果从应用程序50(50a~50c)存在所述数据请求,则Web服务器40访问信息蓄积装置10,接收从该信息蓄积装置10的所述数据记录部12读出的数据d,将数据d向应用程序50(50a~50c)发送。
所述信息蓄积装置10具有数据处理控制部11以及数据记录部12。
所述数据处理控制部11具有CPU(Central Processing Unit),该CPU按照预先在ROM等存储部(未图示)存储的数据处理控制程序而控制本信息蓄积装置10。按照所述数据处理控制程序进行动作的CPU作为进行写入处理的写入处理部11a以及进行读出处理的读出处理部11b起作用。
而且,该数据处理控制部11的写入处理部11a具有如下功能,即,按照在后述的动作说明中详述的写入处理,将接收到的数据d写入实际数据记录部12b,并且作为由与该数据d相关的固定长度的数据串构成的索引信息IJ,将“生成的时刻t(日期时间)、数据d的容量(大小)、以及在所述实际数据记录部12b中写入了数据d的区域(读出开始位置)”按照所述设备30生成数据d的时刻顺序写入索引记录部12a。
并且,该数据处理控制部11的读出处理部11b具有按照在后述的动作说明中详述的读出处理,将特定的时刻t或者特定的时刻范围作为查询(query:信息请求),从所述索引记录部12a检索以及取得包含该时刻t在内的索引文件(1~n,n:自然数)的功能,除此之外,还具有对设置于该检索以及取得的索引文件、将所述时刻t包含于数据串的所述索引信息IJ进行检索的功能。
此外,在不区分索引文件1~索引文件n的情况下,简称为索引文件。
图2是表示在图1所示的信息蓄积装置10的外部配置了所述数据记录部12(下面,称为数据记录区域14)的情况的图。
数据记录区域14是将所述数据记录部12配置于所述信息蓄积装置10的外部而形成的,也可以是例如通过总线BUS与该信息蓄积装置10连接的结构。
即,数据记录区域14具有与所述索引记录部12a以及实际数据记录部12b相同的功能的索引记录部14a以及实际数据记录部14b。下面,使用数据记录部12进行说明。
图3是将在所述索引记录部12a储存的n个索引文件(1~n)作为一个例子进行表示的图。
下面,着眼于索引文件1,省略对其他的索引文件2~索引文件n的说明。
如图所示,在索引文件1中,在开头行(第1行)~最后一行(第m行)的各行中依次记录索引信息IJ1~IJm。此外,在不对索引信息IJ1~索引信息IJm进行区分的情况下,简称为索引信息IJ。
针对每个所述索引信息IJ,记述“与数据d相关的信息(日期时间、大小、读出开始位置)”,在第1行中,例如配置包含索引文件1内最早的时刻t在内的索引信息IJ1,在最后的第m行中,配置包含该索引文件1内最新的时刻t在内的索引信息IJm。此外,所述日期时间也可以是转换了日期的信息。
另外,作为所述索引信息IJ的一个例子,也可以利用由“64位的2进制表现所表示的时刻”、“数据大小”、“实际数据文件内的数据记录位置POS”以及“数据写入时的***时钟”构成的32字节的信息。
然后,在索引文件1中记录至索引信息IJm为止,如果达到该文件1允许的容量,则生成新的索引文件2,从该索引文件2的开头起依次记录索引信息IJ。
为了提高数据的读写速度以及存储区域的利用效率,能够将索引文件的文件大小(容量)设为OS(Operating System)的分页大小的倍数。
由于所述OS的内核从HDD(Hard Disk Drive)、SSD(Solid State Drive)等辅助存储装置读写的处理是以分页大小为单位进行的,因此,通过将频繁地读写的索引文件的大小设为分页大小的倍数,从而提高索引文件的读写速度以及存储区域的利用效率。
这里,例如,分页大小在构成存储单元阵列MCA的例如配置成1行×k列的存储单元MC中,是指“由1行×k列的存储单元MC组的各个存储单元记录的数据构成的数据串的单位”。
另外,关于索引文件3、…、索引文件n,也根据需要而新创建,在这些文件3~文件n中依次记录所述索引信息IJ。
另外,下面,在这些索引文件1~索引文件n中设定的文件名也可以采用第1~第3的任意的方法。
即,第一,例如作为从索引信息IJ中记述的日期时间选择1个的恒定基准的一个例子,也可以选择在索引文件的开头行中记载的数据d的日期时间,将其作为索引文件名。
第二,作为使用索引文件内所选择的数据d的日期时间,以能够以小的计算量相互转换的单纯的规则而设定索引文件名和实际数据文件名的一个例子,除了在索引信息IJ中记述64位的无符号整数表现的日期时间之外,也可以将包含字符串在内的文件名作为这些文件名,该字符串是将以128位的2进制表现所记述的日期时间每4位通过16进制ASCII字符进行了连结而得到的。
第三,作为所述基准和规则的组合的一个例子,也可以在索引信息IJ中以64位的2进制表现所记述的日期时间中选择在索引文件的开头记载的日期时间,将以128位的16进制数表现的字符串作为索引文件以及实际数据文件的文件名的一部分。
图4是表示在实际数据记录部12b储存的n个实际数据文件(1~n、n:自然数)的图。
下面,着眼于实际数据文件1,省略对其他实际数据文件2~实际数据文件n的说明。
如图所示,在实际数据文件1中,从开头起,例如依次将数据d1记录于区域1(POSAL1)、数据d2记录于区域2(POSAL2)、…、数据dm记录于区域m(POSALm)。此外,POSAL1~POSALm是记录了写入对象的数据d的实际数据文件1内的位置信息。另外,例如,也可以在数据d1和数据d2之间***用于区分该数据d1、数据d2的任意的符号。
而且,所述数据d1~数据dm对应于在所述索引文件1记录的从第1行至第m行的索引信息IJ1~索引信息IJm。
即,与在该索引文件1内记录的索引信息IJ1~索引信息IJm对应的数据d1~dm被记录于该实际数据文件1。
这对于例如索引文件n和实际数据文件n,同样的关系也成立。
而且,为了能够基于索引文件容易且迅速地从实际数据文件进行数据d的读出处理,例如,将该实际数据文件1作为与所述索引文件1对应的文件名。对于索引文件n和实际数据文件n,同样的关系也成立。
另外,即使在将下面说明的容量大的图像、动画以及声音等BLOB(Binary LargeObject)数据记录至例如实际数据文件1的情况下,也维持与索引文件1同样的对应关系。
具体而言,基于索引文件内的索引信息IJ所记述的对应的BLOB数据的生成时刻,设定对BLOB数据进行记录的实际数据文件名。具体而言,实际数据文件名与所述BLOB数据的生成时刻以能够以较小的计算量唯一且相互转换的单纯的规则相关联。
图5是表示所述BLOB数据被记录于实际数据记录部12b的情况的图,在所述实际数据记录部12b中记录实际数据文件1~实际数据文件n(1~n,n:自然数)。
下面,着眼于实际数据文件1,省略对其他的实际数据文件2~实际数据文件n的说明。
如图所示,1个BLOB数据被记录于实际数据文件1内。即,如果n个实际数据文件1~实际数据文件n记录于实际数据记录部12b,则全部记录n个BLOB数据。
通过采用这样的结构,能够通过共通的数据库对设备30生成的数据d和图像/动画等BLOB数据进行处理,能够解决例如由于这些数据d、BLOB数据的大小、特性的差异而难以通过共通的结构进行蓄积的问题。
作为这样构成的信息蓄积装置10,所述数据处理控制部11内的CPU按照所述数据处理控制程序所记述的命令而控制各部的动作,通过软件和硬件的协同动作,实现下面的动作说明中记述的各种数据写入处理的功能以及数据读出处理的功能。
接着,说明基于信息蓄积装置10的(写入、读出)动作。
[写入处理(t、d)]
图6A、图6B、图6C是表示在后述的数据d的写入处理(步骤S1~步骤S10)中使用的处理步骤的流程图。
具体而言,图6A表示初始化处理,图6B表示对成为写入对象的数据d用的索引文件进行检索的处理的子程序A(t),而且,图6C表示用于取得在成为写入对象的索引文件中***索引信息IJ的位置信息POS的子程序B(It,t)。
此外,所述子程序A(t)以及子程序B(It,t)是该数据d按照数据d的生成顺序不能到达信息蓄积装置10、在通信路径的中途将顺序反转后的数据d***至应写入的索引文件以及实际数据文件而写入时使用的处理流程。
这里,在图6A、图6B、图6C中,设为
tL:在写入完毕的数据d中最新的数据d的生成时刻t,
IL:包含与时刻tL的数据d相关的索引信息IJ在内的索引文件,
AL:包含时刻tL的数据d在内的实际数据文件。
首先,执行初始化处理,通过所述设备30将比该先生成的全部数据d的生成时刻t(例如20xx年yy月zz日nn时mm分ll秒)早的时刻(例如19XX年YY月ZZ日NN时MM分LL秒)代入参数tL(步骤P1)。
接着,将“NULL”代入索引文件用的参数IL(步骤P2),同样地将“NULL”也代入实际数据记录部12b内的实际数据文件用的参数AL,结束初始化处理(步骤P3)。
通过该初始化处理,在索引记录部12a以及实际数据记录部12b中,成为不生成索引文件、实际数据文件、当然也不记录数据d的空的状态。
接着,通过图6B所示的子程序A(t)处理,检索、取得与生成数据d的时刻t一致的索引文件名、或者比该时刻t早且其中最新的索引文件名(步骤P10)。
这里,各索引文件名以由固定长度的数据串(例如8字节的“0”以及“1”的数据串)构成的2进制数据记载。因此,能够通过作为检索方法之一的二分搜索(折半搜索)这样的OS的***调用而高速地检索文件。
并且,通过图6C所示的子程序B(It,t)处理,在通过子程序A(t)的处理得到的索引文件内,检索包含生成作为写入对象的数据d的时刻t在内的索引信息IJ,或者包含比该时刻t早且其中最新的时刻在内的索引信息IJ,取得***新建的索引信息IJ的位置信息POS(行)(步骤P20)。
所取得的位置信息POS(行)被代入后述的参数POSIt
根据以上的初始化处理、子程序A(t)以及B(It,t)处理,执行下面说明的主写入处理。
图7是表示包含所述子程序A(t)以及子程序B(It、t)在内的数据d的写入处理的流程图。
这里,在图7中,设为
It:在时刻t生成的数据d的索引信息IJ被写入的索引文件,
POSIt:在It内与时刻t的数据d相关的索引信息IJ被写入的位置,
At:在时刻t生成的数据d被写入的实际数据文件,
POSAt:在At内数据d被写入的位置,
POSAL:在AL内在时刻t生成的数据d被写入的位置。
首先,在成为写入对象的数据d的生成时刻t相对于所述参数tL为新的时刻的情况下(步骤S1,YES),即,如果判断为在比通过所述初始化处理而储存于所述参数tL的初始值(比所有的生成时刻t都早的时刻)新的时刻t生成的数据d按照该生成时刻t恰好到达了信息蓄积装置10(步骤S1,YES),则接着判断在索引记录部12a内是否创建了索引文件(图中表示为IL==NULL),或者在假如已经生成了索引文件的情况下,判断要先写入数据d的该索引文件的容量是否达到了上限(步骤S2)。
其结果,如果判断为还未创建索引文件(IL==NULL)或者已创建完毕的索引文件的容量达到了上限(步骤S2,YES),则分别将(在还未创建索引文件的情况下)“1”、(在索引文件的容量达到了上限的情况下)例如“2”代入所述参数IL以及AL。由此,新创建应写入数据d的例如索引文件1、索引文件2,另外新创建与这些索引文件1、索引文件2对应的新的实际数据文件1、实际数据文件2(步骤S3)。
此外,下面,作为一个例子,使用索引文件2以及与其对应的实际数据文件2继续进行说明。
接着,在新创建的实际数据文件2的末尾(如果没有任何写入数据d则是开头),追记成为写入对象的数据d,另外将写入了该数据d的实际数据文件2的位置代入位置信息用的参数POSAL(步骤S4)。
然后,在索引文件2的最后一行(如果没有任何写入数据d则是开头行)中,作为索引信息IJ而追记“日期时间(生成数据d的时刻t)、大小(数据d的容量)、读出开始位置(对在实际数据文件2中写入了数据d的位置信息POS进行了储存的参数POSAL)”(步骤S5),将写入实际数据文件2的最新的数据d的生成时刻t代入参数tL(步骤S6),准备在下一时刻生成的数据d的写入处理。
即,在该时间点,参数tL的值成为在实际数据记录部12b中记录的写入完毕的数据d中最新的数据生成时刻t。
与此相对,在所述步骤S1中,在由设备30生成数据d的时刻t比所述tL早的情况下(步骤S1,NO),即,如果判断为一部分数据d延迟到达信息蓄积装置10,则将基于所述子程序A(t)的处理结果(应写入在时刻t生成的数据d的索引文件名(由日期时间构成的数据串))代入参数It(步骤S7)。
接着,将基于所述子程序B(It,t)的处理结果(基于在子程序A(t)中检索、取得的索引文件,在包含时刻t在内的索引信息IJ中记述的应写入的数据d的位置信息POS)代入所述参数POSIt(步骤S8)。
然后,将在时刻t生成的数据d追记至具有与在所述步骤S7中取得的索引文件名对应的文件名的实际数据文件内的末尾,将该末尾的位置信息POS代入参数POSAt(步骤S9)。即,参数POSAt是在实际数据文件中写入了所述数据d的末尾的位置信息。
然后,在与所述参数POSIt对应的、索引文件内的行中***写入“日期时间(生成数据d的时刻t)、大小(数据d的容量)、读出开始位置(所述末尾的位置信息POSAt)(步骤S10)。
这样,在数据d按照生成的时刻顺序到达的情况下的写入处理(步骤S1(YES)→步骤S2~步骤S6)中,通过索引信息IJ向索引文件的追记、以及数据d向实际数据文件的追记、或者在这些追记的基础上还新创建索引文件以及实际数据文件,仅蓄积所生成的数据d即可,因此不会发生与排序、***等相伴的存储器复制,能够高速地写入数据d。
另外,即使在所生成的数据d没有按照所生成的时刻顺序到达信息蓄积装置10而其到达时刻反转的情况下(步骤S1(NO)→步骤S7~步骤S10),也能够例如通过所述二分搜索确定将应高速地写入的数据d进行***的索引文件以及其应***的位置信息POS。这是因为,使用了索引文件以及索引信息IJ1~索引信息IJm的各行是固定长度的情况,利用了所述二分搜索这样的OS的***调用,由此,能够实现已有数据d的高速移动、新数据d的高速写入。
[读出处理(ts、te)]
图8A、8B、8C是表示在数据d的读出处理(后述的步骤U1~U17)中使用的处理步骤(子程序)的流程图。
具体而言,图8A表示用于对读出对象的索引文件进行检索、取得的子程序A(t),图8B以及图8C表示用于对所述检索、取得的索引文件内记述的索引信息IJ中的、包含时刻t作为数据串的索引信息IJ的行进行检索的子程序B(It,t)以及子程序C(It,t)。
图9是表示包含所述子程序A(t)~子程序C(It、t),写入所述实际数据记录部12b的数据d的读出处理的流程图。
具体而言,图8是如果在用户的数据d的读出请求下设定时刻范围T(开始时刻ts和结束时刻te),则指定该时刻范围T作为查询,读出在时刻范围T生成的数据d的流程图。
这样,作为所述查询,指定开始时刻ts~结束时刻te的时刻范围T而进行数据d的读出处理,因此在下面说明的子程序A(t)、B(t)以及C(t)中,进行指定了对数据d进行读出的开始时刻ts和结束时刻te这两者或者其任意一个时刻t(ts或者te中的任意者)的处理。
在图8A所示的子程序A(t)中,指定数据d的读出开始时刻ts和读出结束时刻te这两者。即,这里,执行子程序A(ts)和A(te)。
这里,在图8A、图8B、图8C以及图9中,设为
Is:包含在时刻ts生成的数据d的索引信息IJ在内的索引文件,
POSIs:Is内的在时刻ts生成的数据d的索引信息IJ被记录的位置,
As:在时刻ts生成的数据d被记录的实际数据文件,
POSAs:As内的在时刻ts生成的数据d被记录的位置,
Ie:包含在时刻te生成的数据d的索引信息IJ在内的索引文件,
POSIe:Ie内的在时刻te生成的数据d的索引信息IJ被记录的位置,
Ae:在时刻te生成的数据d被记录的实际数据文件,
POSAe:Ae内的在时刻te生成的数据d被记录的位置。
首先,如果执行子程序A(ts),则检索、取得索引文件名,该索引文件名与数据d的读出开始时刻ts一致、或者记录了将比该开始时刻ts早且其中最新的时刻包含在内的索引信息IJ(步骤T1)。
另外,针对结束时刻te也进行同样的处理。即,如果执行子程序A(te),则检索、取得索引文件名,该索引文件名与数据d的读出结束时刻te一致、或者记述了将比该结束时刻te早且其中最新的时刻包含在内的索引信息IJ(步骤T1)。
因此,通过子程序A(ts、te),作为检索结果,得到一个(例如,仅索引文件1)或者多个索引文件(例如,索引文件1以及索引文件2)作为读出对象的索引文件。
接着,在图8B所示的子程序B(It,t)中,指定数据d的读出结束时刻te
如果执行子程序B(Ie、te),则从通过所述子程序A(te)检索而取得的索引文件中,取得索引信息IJ的位置信息POS,该索引信息IJ与读出结束时刻te一致、或者记述了比读出结束时刻te早且在所述索引文件中最新的时刻(步骤T10)。
在图8C所示的子程序C(Is、ts)中,指定数据d的读出开始时刻ts
如果执行子程序C(Is、ts),则从通过所述子程序A(ts)检索而取得的索引文件中,取得索引信息IJ的位置信息POS,该索引信息IJ与读出开始时刻ts一致、或者记述了比读出开始时刻ts早且其中开头的时刻(步骤T20)。
根据以上的子程序A(ts、e)~子程序C(Is、ts),执行下面图9所示的数据d的读出处理。
首先,将用于储存在本读出处理中读出的数据d的空列表list或者排列ar储存于参数ret(步骤U1)。
接着,将通过所述子程序A(ts)得到的检索结果(作为读出开始的对象的索引文件名(由日期时间构成的数据串))代入参数Is(步骤U2)。
但是,在通过子程序A(t)没有得到成为读出对象的索引文件、所述参数Is为空的情况下(步骤U3:YES),经由Web服务器40将没有得到检索结果的主旨发送至应用程序50(步骤U4)。
与此相对,当在所述参数Is内储存了通过所述子程序A(ts)得到的检索结果的情况下(步骤U3,NO),将该子程序A(te)的检索结果(作为读出结束的对象的索引文件)代入参数Ie(步骤U5),接着将所述子程序C(Is、ts)的检索结果(与读出开始时刻ts一致的索引信息IJ的位置信息POS、或者记述了所述索引文件中最早的时刻的位置信息POS)代入参数POSIs(步骤U6)。
但是,在通过子程序C(Is、ts)中没有得到与时刻ts对应的位置信息POS、参数POSIs为空的情况下(步骤U7,YES),经由Web服务器40将没有得到检索结果的主旨发送至应用程序50(步骤U4)。
与此相对,当在所述参数POSIs内储存了所述检索结果的情况下(步骤U7,NO),接着将子程序B(Ie,te)的检索结果(与读出结束时刻te一致的索引信息IJ的位置信息POS、或者记述了比读出结束时刻te早且在所述索引文件中最新的时刻的索引信息IJ的位置信息POS)代入参数POSIe(步骤U8)。由此,在参数POSIe储存有写入了与所述结束时刻te对应的数据d的位置信息POS。
然后,将所述参数Is(指包含开始时刻ts在内的索引文件)的值代入参数x,将所述参数POSIs(与读出开始时刻ts一致的索引信息IJ的位置信息POS或者记述了所述索引文件中最早的时刻的位置信息POS)的值代入参数y(步骤U9)。
这里,下面将代入参数x的值设为参数Ix
然后,将按照所述参数Ix以及参数y读出的数据d的大小和该读出的数据d的(开始以及结束)位置代入参数(Size,POS)(步骤U10)。
并且,按照所述参数(Size,POS)读出在实际数据文件中记录的数据d,将该读出的数据d代入参数D(步骤U11)。
然后,将代入参数D的数据d追记于所述参数ret的末尾(如果是初次读出,则是开头)(步骤U12)。
接着,判断在所述参数x中储存的“包含开始时刻ts在内的索引文件名(日期时间的数据串)”与在参数Ie中储存的“包含结束时刻te在内的索引文件名(日期时间的数据串)”是否一致(即,读出对象在1个索引文件中完结)并且在所述参数y中储存的“索引信息IJ的读出开始位置POSIs”与在参数POSIe中储存的“索引信息IJ的读出结束位置POSIe”是否一致(1行的索引信息IJ是读出对象)(步骤U13)。
如果步骤U13的结果是判断为各个条件一致,即,在读出对象的数据d以某个单一的索引文件内的某一行的索引信息IJ完结的情况下(步骤U13,YES),则在步骤U12中追加至参数ret的数据d经由Web服务器40向应用程序50发送(步骤U14)。
与此相对,如果在步骤U13中判断出任意一个条件不一致(步骤U13,NO),则判断在参数y中储存的数据d的读出开始位置POSIs是否与作为检索对象的索引文件的最后一行即第m行一致(步骤U15)。
如果所述开始位置POSIs不是所述第m行(步骤U15,NO),则设为y=y+1,将读出对象的索引信息IJ降低一行(步骤U17),再次返回至步骤U10的动作,执行与降低了一行的索引信息IJ相关的数据d的读出处理。
即,在读出对象的索引文件中,按照下1行的索引信息IJ,从对应的实际数据文件读出与所述参数Size相当的数据长度的数据d,接着将读出的数据d储存于参数D,将该数据d追加至参数ret的末尾(步骤U10→步骤U11→步骤U12)。
然后,如果判断为在设为所述y=y+1时所述下一行的“索引信息IJ的读出开始位置POSIs”与在参数POSIe中储存的“索引信息IJ的读出结束位置POSIe”一致(步骤U13,YES),则将在步骤U12中追加至参数ret的例如与两行索引信息IJ相当的数据d经由Web服务器40向应用程序50发送(步骤U14)。
另外,在所述开始位置POSIs是所述第m行的情况下(步骤U15,YES),由于读出对象的索引文件涉及多个,因此设为x=x+1,将成为读出对象的索引文件设定为相邻的索引文件,并且将“0行”代入y的值即开始位置POSIs(步骤U16),由此从成为该读出对象的索引文件的开头行(第1行)起执行所述步骤U10及以后的动作。
通过执行以上的读出处理,能够读出在用户指定的时刻范围T生成的数据d。
[读出处理(treq)]
图10A以及图10B是表示用于执行在由用户指定的特定时刻treq生成的数据d的读出处理(后述的步骤X1~步骤X9)的处理步骤(子程序)的流程图。
具体而言,图10A示出了用于基于时刻treq而检索、取得成为读出对象的索引文件的子程序A(treq),图10B示出了用于在检索、取得的索引文件内对包含该时刻treq在内的索引信息IJ的行进行检索的子程序D(Ireq,t)。
图11是表示包含所述子程序A(t)以及子程序D(Ireq,t)在内、对写入实际数据记录部12b的数据d进行读出处理的流程图。
这里,与所述图8A、图8B、图8C以及图9(读出处理(ts、te))不同,为了作为查询而进行读出特定的时刻treq的数据d的处理,下面说明的子程序A(treq)、D(Ireq、treq)的各处理基于该时刻treq而执行。
这里,在图10A以及图10B以及图11中,设为
Ireq:包含在时刻treq生成的数据d的索引信息IJ在内的索引文件,
POSIreq:Ireq内的在时刻treq生成的数据d的索引信息IJ被记录的位置,
Areq:在时刻treq生成的数据d被记录的实际数据文件,
POSAreq:Areq内的在时刻treq生成的数据d被记录的位置。
首先,如果执行图10A所示的子程序A(treq),则检索、取得与指定的读出时刻treq一致的索引文件名,或者将比该时刻treq早且其中最新的时刻包含在内的索引文件名(步骤V1)。
另外,如果执行图10B所示的子程序D(Ireq,treq),则取得在索引信息IJ中记述的位置信息POS(步骤V10),该索引信息IJ在通过所述子程序A(treq)检索、取得的索引文件内并且包含与时刻treq一致的时刻t。
根据以上的子程序A(treq)以及D(Ireq,treq),执行下面的图11所示的读出处理。
首先,在参数ret中,储存用于储存由读出处理读出的数据d的空列表list或者排列ar(步骤X1)。
接着,将在所述子程序A(treq)中得到的检索结果(作为读出对象的索引文件名(由日期时间构成的数据串))代入参数Ireq(步骤X2)。
但是,在通过子程序A(treq)没有得到成为读出对象的索引文件名、该参数Ireq为空的情况下(步骤X3,YES),经由Web服务器40向应用程序50发送没有得到检索结果的主旨(步骤X4)。
与此相对,当在所述参数Ireq内储存了检索结果的情况下(步骤X3,NO),则接着将子程序D(Ireq,treq)的检索结果(在包含时刻treq在内的索引信息IJ中记述的位置信息POS)代入参数POSIreq(步骤X5)。
作为步骤X5的结果,在通过子程序D(Ireq,treq)没有得到与包含时刻treq在内的索引信息IJ对应的位置信息POS、并且所述参数POSIreq为空的情况下(步骤X6,YES),经由Web服务器40向应用程序50发送没有得到检索结果的主旨(步骤X4)。
与此相对,当在所述参数POSIreq内储存有检索结果(记述了包含指定时刻treq在内的索引信息IJ的位置信息POS)的情况下(步骤X6,NO),将在包含该时刻treq在内的索引信息IJ中记述的“大小”以及“读出开始位置”分别代入参数(Size,POS)(步骤X7)。
然后,按照所述参数(Size、POS),读出在具有与索引文件名对应的文件名的实际数据文件中记录的、相当于所述参数Size的数据长度的数据d,将该读出的数据d代入参数ret(步骤X8)。
然后,最后将所述参数ret所储存的值(读出对象的数据d)经由Web服务器40发送至应用程序50(步骤X9)。
这样,由于分别对索引文件1~索引文件n设定的文件名是生成数据d的时刻,因此通过基于要读出的时刻treq进行所述二分搜索,从而能够容易且迅速地确定具有目标的索引信息IJ的索引文件,因此能够容易且迅速地掌握成为读出对象的数据d的记录位置。
因此,根据上述结构的信息蓄积装置10,在由设备30生成的数据d按照生成的时刻t的顺序到达的情况下,按照数据d到达的顺序向实际数据文件12进行追记(写入),并且将追记至该实际数据文件中的数据d的生成时刻t、数据大小以及实际数据文件中的追记位置作为索引信息IJ追记至具有与记录了该数据d的实际数据文件对应的文件名的索引文件内。
由此,仅按照数据d到达的顺序生成该数据d的索引信息IJ而向实际数据文件进行数据d的追记即可,另外,在索引文件、实际数据文件的容量达到极限的情况下,通过这些文件的新建创建,仅蓄积所生成的数据d即可,因此不会发生与排序、***等相伴的存储器复制,能够高速地进行数据d的写入。
另外,数据记录部12具有实际数据记录部12b,该实际数据记录部12b在1个实际数据文件内记录1个BLOB数据。
通过采用这样的结构,能够在共通的数据库中对设备30生成的数据d和图像/动画等BLOB数据进行处理,能够解决例如由于这些数据d、BLOB数据的大小、特性的差异而难以通过共通的结构进行蓄积的问题。
另外,即使在所生成的数据d到达信息蓄积装置10的到达时刻发生了改变的情况下,由于通过固定长度的2进制数据构成了各索引文件名,因此能够通过二分搜索确定对应高速写入的数据d进行***的文件以及其***位置。这样,利用索引文件名以及索引信息IJ1~索引信息IJm的各行是固定长度的情况,通过所述二分搜索这样的OS的***调用,能够进行已有数据d的高速移动和新数据d的高速写入。
并且,根据上述结构的信息蓄积装置10,由于基于生成数据d的时刻t,分别设定索引文件和实际数据文件的文件名,因此能够通过时刻t的指定,容易地检索包含该时刻t在内的索引文件以及该索引文件内的索引信息IJ。而且,由于在该索引信息IJ中记述了写入数据d的位置POS,因此能够基于检索到的索引信息IJ容易地读出数据d。
这不限于指定了要读出的时刻treq的情况,在指定开始时刻ts和结束时刻te,读出写入该时刻范围T的数据d的情况下也是同样的。
此外,例如,在存在多个与索引文件对应的实际数据文件的情况下,也可以将这些多个实际数据文件汇总至一个目录,将该目录名设定为以能够以小的计算量唯一地转换的规则与对应的索引文件名关联的名称。由此,能够唯一地确定实际数据文件,高速地读出数据d。
另外,也可以将实际数据文件中的记录数据d的区域(POSAL)表示为索引信息IJ所记述的“大小”和“读出开始位置”的组合的该区域。
并且,作为固定长度的数据串的索引信息IJ的大小可以设为页单位,也可以设为该页单位的约数。
另外,也可以对在所述索引记录部12a内记录的例如索引文件1进行分割。在该情况下,也可以是使对索引文件1进行分割而生成的两个索引文件与实际数据文件1对应的结构。
本发明不限于上述实施方式,能够在实施阶段在不脱离其主旨的范围进行各种变形。并且,在上述实施方式中包含各种阶段的发明,通过公开的多个结构要件的适当组合,能够提取各种发明。例如,即使从实施方式所示的全部结构要件删除若干个结构要件,或者将若干个结构要件以不同的方式进行组合,也能够解决在发明要解决的课题栏中所述的课题,在得到在发明效果栏中所述的效果的情况下,对该结构要件进行删除或者组合而得到的结构能够提取为发明。
另外,上述实施方式所记载的方法作为能够使计算机执行的程序(软件(Software)单元),例如储存于磁盘(软(注册商标)盘(Floppy disk)、硬盘等)、光盘(CD-ROM、DVD、MO等)、半导体存储器(ROM、RAM、闪存(Flash memory)等)等存储介质,另外也能够通过通信介质传送、分发。此外,在储存于介质侧的程序中还包含设定程序,该设定程序将使计算机执行的软件单元(不仅是执行程序,还包含表(Table)结构以及数据结构)构成于计算机内。实现本装置的计算机读入存储介质所存储的程序,另外根据情况通过设定程序构建软件单元,通过由该软件单元控制动作而执行上述处理。此外,本说明书中所说的存储介质不限于分发用,还包含在计算机内部或者经由网络连接的仪器中设置的磁盘以及半导体存储器等存储介质。

Claims (10)

1.一种信息蓄积装置,其具有:
索引记录部,其记录索引文件,该索引文件包含索引信息,该索引信息是包含生成了数据的时刻和记录该数据的位置信息在内的数据串,且分别按照生成了所述数据的时刻顺序配置,所述索引文件设为与所述生成的数据的时刻相应的文件名;
实际数据记录部,其对在所述索引信息所记述的所述位置信息中写入所述数据的实际数据文件进行记录,该实际数据文件具有文件名,该文件名具有能够以第1计算量与所述索引文件的文件名唯一且相互关联的规则;
写入处理部,其将所述数据写入所述实际数据文件,将在该实际数据文件中写入了数据的位置信息、以及生成了所述数据的时刻,作为索引信息写入所述索引文件;以及
读出处理部,如果基于时刻指定了作为读出对象的数据,则该读出处理部基于包含与该时刻对应的文件名在内的所述索引文件内的索引信息,从所述实际数据文件读出数据。
2.根据权利要求1所述的信息蓄积装置,其中,
作为包含生成了所述数据的时刻和记录该数据的位置信息在内的数据串的索引信息,是固定长度的数据串。
3.根据权利要求1或2所述的信息蓄积装置,其中,
所述写入处理部按照生成的数据的时刻顺序将该数据追记至所述实际数据文件。
4.根据权利要求1或2所述的信息蓄积装置,其中,
作为在生成了成为向所述实际数据文件的写入对象的数据的时刻是比所述索引文件的开头行所记述的所述索引信息包含的时刻早的时刻的情况下进行的处理,
所述写入处理部进行下述处理:
索引文件检索,基于生成了所述数据的时刻,检索应***所述索引信息的索引文件;
索引信息***行检索,检索在通过所述索引文件检索而检索出的索引文件中***索引信息的行,该索引信息包含生成了成为所述写入对象的数据的时刻;以及
索引信息***,将所述数据写入实际数据文件,将包含生成了该写入的数据的时刻以及写入该数据的位置信息在内的索引信息***至通过所述索引信息***行检索而检索出的索引文件内的应***的行,其中,该实际数据文件具有能够以所述第1计算量与通过所述索引文件检索而检索出的索引文件的文件名唯一且相互关联的规则的文件名。
5.根据权利要求1或2所述的信息蓄积装置,其中,
作为在生成了成为向所述实际数据文件的写入对象的数据的时刻是比在所述索引文件的开头行所记述的所述索引信息包含的时刻新的时刻的情况下进行的处理,
所述写入处理部进行下述处理:
索引信息***行检索,基于生成了所述数据的时刻,检索在所述索引文件中***索引信息的行,该索引信息包含生成了成为所述写入对象的数据的时刻;以及
索引信息***,将所述数据写入实际数据文件,将包含生成了该写入的数据的时刻以及写入该数据的位置信息在内的索引信息***至所述索引文件内的应***的行,其中,该实际数据文件具有能够以所述第1计算量与通过所述索引文件检索而检索出的索引文件的文件名唯一且相互关联的规则的文件名。
6.根据权利要求1所述的信息蓄积装置,其中,
所述读出处理部进行下述处理:
文件判断,如果分别指定了作为读出对象的数据的读出开始时刻和其结束时刻,则判断包含该开始时刻和结束时刻在内的索引信息是否在同一索引文件内;
实际文件数据读出,在通过所述文件判断而判断为在所述同一索引信息内包含将所述数据的读出开始时刻和结束时刻包含在内的索引信息的情况下,按照分别包含该开始时刻和结束时刻的索引信息,从所述实际数据文件读出数据;以及
多个实际文件数据读出,在通过所述文件判断而判断为包含所述数据的读出开始时刻和结束时刻在内的索引信息跨多个索引文件的情况下,按照分别包含该开始时刻和结束时刻的索引信息,从多个所述实际数据文件读出数据。
7.根据权利要求1所述的信息蓄积装置,其中,
所述读出处理部进行下述处理:
实际数据文件检索,如果指定了作为读出对象的数据的读出时刻,则基于包含该时刻在内的索引信息,检索所述实际数据文件;以及
数据读出,基于所述索引信息,从通过所述实际数据文件检索而检索出的实际数据文件读出所述指定时刻的数据。
8.根据权利要求1至7中任一项所述的信息蓄积装置,其中,
所述索引文件的文件大小是OS的分页大小的倍数。
9.一种数据处理***,其具有:
数据生成装置,其生成时刻和与该时刻对应的数据;以及
信息蓄积装置,其将由所述数据生成装置生成的数据写入实际数据文件,响应于来自外部的读出请求而读出所写入的该数据,
所述信息蓄积装置具有:
索引记录部,其记录索引文件,该索引文件包含索引信息,该索引信息是包含由所述数据生成装置生成的数据被记录的位置信息和生成了该数据的时刻在内的固定长度的数据串,分别按照生成了所述数据的时刻顺序配置,所述索引文件设为与所述生成的数据的时刻相应的文件名;
实际数据记录部,其对在所述索引信息所记述的所述位置信息中写入所述数据的实际数据文件进行记录,该实际数据文件具有文件名,该文件名具有能够以第1计算量与所述索引文件的文件名唯一且相互关联的规则;
写入处理部,其将所述数据写入所述实际数据文件,将在该实际数据文件中写入了数据的位置信息以及生成了所述数据的时刻作为索引信息写入所述索引文件;以及
读出处理部,如果接收到基于时刻的所述读出请求,则该读出处理部基于包含与该时刻对应的文件名在内的所述索引文件内的索引信息,从所述实际数据文件读出数据。
10.一种程序,其用于使计算机实现下述功能:
将索引文件记录于索引记录部,该索引文件包含索引信息,该索引信息是包含生成了数据的时刻和记录该数据的位置信息在内的数据串,分别按照生成了所述数据的时刻顺序配置,所述索引文件设为与所述生成的数据的时刻相应的文件名;
将在所述索引信息所记述的所述位置信息中写入所述数据的实际数据文件记录于实际数据记录部,该实际数据文件具有文件名,该文件名具有能够以第1计算量与所述索引文件的文件名唯一且相互关联的规则;
将所述数据写入所述实际数据文件,将在该实际数据文件中写入了数据的位置信息以及生成了所述数据的时刻作为索引信息写入所述索引文件;以及
如果基于时刻指定了作为读出对象的数据,则基于包含与该时刻对应的文件名在内的所述索引文件内的索引信息,从所述实际数据文件读出数据。
CN201880072347.3A 2017-11-09 2018-09-20 信息蓄积装置、数据处理***及记录介质 Active CN111566627B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017216648 2017-11-09
JP2017-216648 2017-11-09
PCT/JP2018/034786 WO2019092990A1 (ja) 2017-11-09 2018-09-20 情報蓄積装置、データ処理システム、およびプログラム

Publications (2)

Publication Number Publication Date
CN111566627A true CN111566627A (zh) 2020-08-21
CN111566627B CN111566627B (zh) 2023-07-21

Family

ID=66437725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880072347.3A Active CN111566627B (zh) 2017-11-09 2018-09-20 信息蓄积装置、数据处理***及记录介质

Country Status (5)

Country Link
US (1) US11263176B2 (zh)
EP (1) EP3709174A4 (zh)
JP (1) JP6901005B2 (zh)
CN (1) CN111566627B (zh)
WO (1) WO2019092990A1 (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588957A (ja) * 1991-09-25 1993-04-09 Olympus Optical Co Ltd デイレクトリフオーマツト
US5546368A (en) * 1992-12-17 1996-08-13 Samsung Electronics Co. Ltd. Disk recording medium and reproduction method and apparatus thereof
JPH08212114A (ja) * 1995-02-08 1996-08-20 Matsushita Electric Ind Co Ltd データ記録装置及びデータ記録再生装置
JPH11155130A (ja) * 1997-09-17 1999-06-08 Matsushita Electric Ind Co Ltd 光ディスク、録画装置、プログラム記憶媒体
US20040010415A1 (en) * 2000-02-23 2004-01-15 Yoon-Deuk Seo Apparatus and method for searching digital audio data file from media where digital audio data files are recorded
JP2006048816A (ja) * 2004-08-03 2006-02-16 Funai Electric Co Ltd ディスク再生装置
CN102968422A (zh) * 2011-08-31 2013-03-13 中国航天科工集团第二研究院七○六所 流数据存储控制***及其方法
JP2014164382A (ja) * 2013-02-22 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> 情報記録方法及び情報記録装置及びプログラム
CN104394380A (zh) * 2014-12-09 2015-03-04 浙江省公众信息产业有限公司 视频监控管理***以及视频监控录像的回放方法
CN104881481A (zh) * 2015-06-03 2015-09-02 安科智慧城市技术(中国)有限公司 一种存取海量时间序列数据的方法及装置
US20160055189A1 (en) * 2013-04-18 2016-02-25 Guangyi Tao Database Storage System based on Optical Disk Library, and Method Using Same
JP2016187122A (ja) * 2015-03-27 2016-10-27 富士通株式会社 映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993246B1 (en) * 2000-09-15 2006-01-31 Hewlett-Packard Development Company, L.P. Method and system for correlating data streams
US7293286B2 (en) * 2003-02-20 2007-11-06 Bea Systems, Inc. Federated management of content repositories
US8156110B1 (en) * 2004-01-29 2012-04-10 Teradata Us, Inc. Rescheduling of modification operations for loading data into a database system
AU2005200888B2 (en) * 2005-02-28 2009-01-08 Canon Kabushiki Kaisha Visualising camera position in recorded video
KR101380936B1 (ko) 2006-10-05 2014-04-10 스플렁크 인코퍼레이티드 시계열 검색 엔진
US20110246603A1 (en) * 2008-09-05 2011-10-06 The Chinese University Of Hong Kong Methods and devices for live streaming using pre-indexed file formats
US9317537B2 (en) * 2009-09-25 2016-04-19 Adnan Fakeih Database and method for evaluating data therefrom
JP5314570B2 (ja) * 2009-11-06 2013-10-16 日本電信電話株式会社 蓄積データの再構成システム、再構成方法およびプログラム
JP5470082B2 (ja) * 2010-02-16 2014-04-16 日本電信電話株式会社 情報蓄積検索方法及び情報蓄積検索プログラム
JP5639011B2 (ja) * 2011-06-28 2014-12-10 日本電信電話株式会社 データ蓄積装置、データ蓄積方法、及びプログラム
WO2015082083A1 (en) * 2013-12-04 2015-06-11 Nec Europe Ltd. Method and system for generating a virtual device resource accessible by an application

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588957A (ja) * 1991-09-25 1993-04-09 Olympus Optical Co Ltd デイレクトリフオーマツト
US5546368A (en) * 1992-12-17 1996-08-13 Samsung Electronics Co. Ltd. Disk recording medium and reproduction method and apparatus thereof
JPH08212114A (ja) * 1995-02-08 1996-08-20 Matsushita Electric Ind Co Ltd データ記録装置及びデータ記録再生装置
JPH11155130A (ja) * 1997-09-17 1999-06-08 Matsushita Electric Ind Co Ltd 光ディスク、録画装置、プログラム記憶媒体
US20040010415A1 (en) * 2000-02-23 2004-01-15 Yoon-Deuk Seo Apparatus and method for searching digital audio data file from media where digital audio data files are recorded
JP2006048816A (ja) * 2004-08-03 2006-02-16 Funai Electric Co Ltd ディスク再生装置
CN102968422A (zh) * 2011-08-31 2013-03-13 中国航天科工集团第二研究院七○六所 流数据存储控制***及其方法
JP2014164382A (ja) * 2013-02-22 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> 情報記録方法及び情報記録装置及びプログラム
US20160055189A1 (en) * 2013-04-18 2016-02-25 Guangyi Tao Database Storage System based on Optical Disk Library, and Method Using Same
CN104394380A (zh) * 2014-12-09 2015-03-04 浙江省公众信息产业有限公司 视频监控管理***以及视频监控录像的回放方法
JP2016187122A (ja) * 2015-03-27 2016-10-27 富士通株式会社 映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラム
CN104881481A (zh) * 2015-06-03 2015-09-02 安科智慧城市技术(中国)有限公司 一种存取海量时间序列数据的方法及装置

Also Published As

Publication number Publication date
WO2019092990A1 (ja) 2019-05-16
JPWO2019092990A1 (ja) 2020-04-02
EP3709174A1 (en) 2020-09-16
US20210173813A1 (en) 2021-06-10
CN111566627B (zh) 2023-07-21
EP3709174A4 (en) 2021-08-11
JP6901005B2 (ja) 2021-07-14
US11263176B2 (en) 2022-03-01

Similar Documents

Publication Publication Date Title
CN102016789B (zh) 数据处理装置和处理数据的方法
JP5233233B2 (ja) 情報検索システム、情報検索用インデックスの登録装置、情報検索方法及びプログラム
CN106649403B (zh) 文件存储中的索引实现方法和***
US9195611B2 (en) Efficiently updating and deleting data in a data storage system
CN107045531A (zh) 一种优化hdfs小文件存取的***及方法
CN110109910A (zh) 数据处理方法及***、电子设备和计算机可读存储介质
US20190018851A1 (en) Data processing system
CN111427847A (zh) 面向用户自定义元数据的索引与查询方法和***
CN108446308A (zh) 可扩展分布式数据库的***和方法
JP6629994B2 (ja) データ処理システムおよびデータ処理方法
US20150269171A1 (en) Information storage system
CN112965939A (zh) 一种文件合并方法、装置和设备
WO2012081165A1 (ja) データベース管理装置及びデータベース管理方法
CN111566627A (zh) 信息蓄积装置、数据处理***及程序
US11803525B2 (en) Selection and movement of data between nodes of a distributed storage system
JP2013016112A (ja) チャンク生成装置、チャンク読み取り装置、チャンク生成方法及びプログラム
CN107621924A (zh) 一种基于云端清理固态硬盘数据的方法和装置
JP5655764B2 (ja) サンプリング装置、サンプリングプログラム、およびその方法
JP7131106B2 (ja) トランザクション管理装置、トランザクション管理方法及びプログラム
JP7105718B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN111651531B (zh) 数据导入方法、装置、设备及计算机存储介质
EP4113313A1 (en) Control method, information processing device, and control program
CN107846327A (zh) 一种网管性能数据的处理方法及装置
JP5732082B2 (ja) データ管理装置およびデータ管理プログラム
CN111782588A (zh) 一种文件读取方法、装置、设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant