数据处理装置、数据管理系统、数据处理方法及程序的制作方法

文档序号:6494490阅读:149来源:国知局
数据处理装置、数据管理系统、数据处理方法及程序的制作方法
【专利摘要】实施方式的数据处理装置(100)具备存储部(111)、数据变换部(102)、第一发送部(103)、查询式变换部(105)、第二发送部(106)、和接收部(107)。存储部存储字符串集合,该字符串集合是能够唯一地确定大小关系的多个字符串要素的集合。数据变换部将包含在管理对象数据中的数值数据加密,并使用包含在字符串集合中的字符串要素生成与数值数据对应的索引值,生成包括加密后的数值数据和索引值的变换后管理对象数据。第一发送部向服务器发送变换后管理对象数据。查询式变换部将查询式的使用了数值的条件部分变换为使用了包含在字符串集合中的字符串要素的条件部分,来生成变换后查询式。第二发送部将变换后查询式向服务器发送。接收部从服务器接收使用了变换后查询式的查询处理的结果。
【专利说明】数据处理装置、数据管理系统、数据处理方法及程序
【技术领域】
[0001]本发明的实施方式涉及数据处理装置、数据管理系统、数据处理方法及程序。
【背景技术】
[0002]近年来,作为云计算服务的一形态,经由因特网提供数据库的利用环境的服务即DaaS (Database as a Service)受到关注。DaaS的利用者通过对服务提供者委托自己拥有的数据的持久管理及一般的数据库管理业务,能够进行成本削减或管理的一元化。但是,多数情况下服务提供者提供的数据库服务器(以下,简单称作服务器)的管理者是与享受服务的利用者(以下,称作客户端)不同的第三者,即使在第三者侧提供数据库加密服务,也不能保证完全防止信息泄漏。此外,由于还存在第三者成为安全攻击者的风险,所以不希望使数据库管理者阅览加密前的原始数据自身的需求也较高。
[0003]所以,提出了将管理对象的数据在客户端侧加密后向服务器转送、通过使服务器管理加密后的数据而使安全性提高的方法。但是,由于难以对加密后的数据直接进行检索,所以需要进行以下步骤,即,将服务器侧的数据暂时发送到客户端,然后在客户端侧将数据解密,进行是否满足原查询条件的结果对照处理。这样,存在几乎不能享受数据库的检索服务、在客户端产生负荷、处理时间变得非常大等问题点。为了解决这样的问题,提出了在服务器可检索地管理加密数据的一些方法,但通过这些以往的方法,难以在确保较高的安全性的同时、高性能地进行特别对数值数据的范围检索等的检索处理,希望进行改善。
[0004]现有技术文献:
[0005]专利文献:
[0006]专利文献1:日本特许第4707198号公报
[0007]专利文献2:日本特开2009-251748号公报
[0008]非专利文献:
[0009]非专利文献1:H.Hacigumus, B.1yer, C.Li, and S.Mehrotra.: “ExecutingSQL over Encrypted Data in the Database-Service-Provider Model, ” InProceeding of the2002ACM SIGMOD International Conference on Management ofData, pp.216-227,June200
[0010]非专利文献2:Hore B., Mehrotra S.and Tsudik G.: “A Privacy-PreservingIndex for Range Query, ” Proceedings of the30th VLDB Conference, pp.720-730, 2004

【发明内容】

[0011]发明要解决的问题
[0012]发明要解决的问题是提供一种能够在确保较高的安全性的同时、实现高性能的检索处理的数据处理装置、数据管理系统、数据处理方法及程序。
[0013]用于解决问题的手段
[0014]技术方案的数据处理装置具备存储部、数据变换部、第一发送部、查询式变换部、第二发送部、和接收部。存储部存储字符串集合,该字符串集合是能够唯一地确定大小关系的多个字符串要素的集合。数据变换部将包含在管理对象数据中的数值数据加密,并使用包含在上述字符串集合中的字符串要素生成与上述数值数据对应的索引值,生成包括加密后的上述数值数据和上述索引值的变换后管理对象数据。第一发送部向服务器发送上述变换后管理对象数据。查询式变换部将查询式的使用了数值的条件部分变换为使用了包含在上述字符串集合中的字符串要素的条件部分,来生成变换后查询式。第二发送部将上述变换后查询式向上述服务器发送。接收部从上述服务器接收使用了上述变换后查询式的查询处理的结果。
【专利附图】

【附图说明】
[0015]图1是表示有关第一实施方式的数据管理系统的整体结构的块图。
[0016]图2是表示管理对象数据的表现形式与数据库的形式及查询式的形式之间的对应关系的图。
[0017]图3是表示数据变换部的具体的结构例的块图。
[0018]图4是表示加密.索引对象信息的一例的图。
[0019]图5是表示使用图4所示的加密?索引对象信息生成的变换后管理对象数据的一例的图。
[0020]图6是概念性地表示字符串集合存储部存储的字符串集合的示意图。
[0021]图7是表示即使是相同的字符串、根据对照规则的差异而大小关系也不同的例子的图。
[0022]图8是概念性地`表示字符串要素分配决定部分配字符串要素、索引值生成部生成索引值的处理的一例的示意图。
[0023]图9是概念性地表示将对相同的数值分配的字符串要素按照对照规则加以变形的处理的示意图。
[0024]图10是表示查询式变换部的具体的结构例的块图。
[0025]图11是概念性地表示使用辅助信息将查询式的条件部分优化的处理的一例的示意图。
[0026]图12是表示有关第二实施方式的数据管理系统的整体结构的块图。
[0027]图13是表示赋予了 collate标志的变换后查询式的一例的图。
[0028]图14是表示有关第三实施方式的数据管理系统的整体结构的块图。
[0029]图15是表示以URI表现埋入用于照解决的对照解决程序的形式的变换后查询式的一例的图。
[0030]图16是说明第一实施例~第四实施例的概要的示意图。
[0031]图17是表示在第一实施例~第四实施例中处理的条件的图。
[0032]图18是表示在第一实施例~第四实施例中通过数据处理装置的查询式变换部生成的变换后查询式的图。
[0033]图19是表示数据处理装置的硬件结构的一例的图。
【具体实施方式】[0034]以下,参照图面说明实施方式的数据处理装置、数据管理系统、数据处理方法及程序。
[0035](第一实施方式)
[0036]图1是表示有关第一实施方式的数据管理系统的整体结构的块图。数据管理系统例如是在提供DaaS的服务提供者侧实现的系统,具备数据处理装置100和服务器200。数据处理装置100进行在服务器200中登记的管理对象数据的加密或索引值的生成、查询式的变换等处理。服务器200用于实现从数据处理装置100发送的管理对象数据的保存、查询处理等的一般的数据库处理功能。数据处理装置100和服务器200是相互分离独立构成的装置,经由网络可通信地连接。另外,数据处理装置100和服务器200由不同的管理者管理。
[0037]首先,在说明构成有关本实施方式的数据管理系统的数据处理装置100及服务器200的具体结构之前,对登记在服务器200中的管理对象数据的表现形式、和与其对应的服务器200的数据库的形式及针对数据库的查询式的形式的具体例进行说明。以下,例示将在I个记录中包含从业员ID、从业员名、年收入及年龄在内的从业员表作为管理对象数据登记在服务器200中的情况。
[0038]图2是表示管理对象数据的表现形式与数据库的形式及查询式的形式之间的对应关系的图。管理对象数据的表现形式如图2所示,可以考虑关系形式、关键字值形式、XML(Extensible Markup Language:可扩充置标语言)形式等各种各样的形式,存在与其分别适合的数据库的形式。例如,在关系形式的情况下是关系数据库(RDB),在关键字值形式的情况下是关键字值存储(KVS),在XML形式的情况下是XML数据库(XMLDB)。此外,根据数据库的形式,查询式的形式也不同,将针对关系数据库的查询式记述为SQL,将针对关键字值存储的查询式记述为KVS询问,将针对XML数据库的查询式记述为XQUERY。
[0039]有关本实施方式的数据管理系统如果是关系形式则例如为〈列名,值〉,如果是关键字值形式则例如为〈关键字名,值 >,如果是XML形式则例如为〈要素(属性)名,值〉,这样将能够用关键字与值的对表现的数据作为管理对象数据进行处理,服务器200管理的数据库的形式或针对数据库的查询式的形式对应于管理对象数据的表现形式。
[0040]接着,对数据处理装置100的结构进行说明。数据处理装置100如图1所示,作为功能性的构成要素具备数据接收部101、数据变换部102、数据发送部103、查询式接收部104、查询式变换部105、查询式发送部106、结果接收部107、后处理部108、和结果发送部109。此外,数据处理装置100作为在数据变换部102或查询式变换部105中的处理中使用的信息资源具备字符串集合存储部111、辅助信息存储部112、加密.索引对象信息存储部113、和密钥信息存储部114。
[0041]数据接收部101接收例如从DaaS的利用者等(以下,称作用户)发送的管理对象数据D1。
[0042]数据变换部102使用字符串集合存储部111存储的字符串集合、辅助信息存储部112存储的辅助信息、加密.索引对象信息存储部113存储的加密.索引对象信息、以及密钥信息存储部114存储的密钥信息,对数据接收部101接收到的管理对象数据Dl进行加密处理或索引值的生成,生成变换后管理对象数据D2。另外,数据变换部102的处理的详细情况在后面叙述。[0043]数据发送部103将数据变换部102生成的变换后管理对象数据D2与登记请求一起对服务器200发送。
[0044]查询式接收部104接收从用户发送的查询式Ql。
[0045]查询式变换部105使用字符串集合存储部111存储的字符串集合、及辅助信息存储部112存储的辅助信息,将查询式接收部104接收到的查询式Ql的条件部分(指定了条件的部分)的数值数据替换为字符串要素,来生成变换后查询式Q2。另外,查询式变换部105的处理的详细情况在后面叙述。
[0046]查询式发送部106将查询式变换部105生成的变换后查询式Q2对服务器200发送。
[0047]结果接收部107接收作为服务器200进行使用了变换后查询式Q2的查询处理的结果的结果数据集合Rl。
[0048]后处理部108将结果接收部107接收到的结果数据集合R1、即作为进行使用变换后查询式的查询处理的结果的结果数据集合Rl根据需要加以变换,以适合于变换前的原查询式Ql的要求,生成返回结果数据集合R2。此时,后处理部108在结果接收部107接收到的结果数据集合Rl中包含有加密后的数值数据的情况下,使用密钥信息存储部114存储的密钥信息将其解密,生成返回结果数据集合R2。
[0049]结果发送部109对发送了查询式Ql的用户发送后处理部108生成的返回结果数据集合R2。
[0050]接着,对服务器200的结构进行说明。服务器200如图1所示,作为功能性的构成要素具备数据接收部201、数据保存处理部202、查询式接收部203、查询处理执行部204、和结果发送部205。此外,服务器 200具备作为数据库发挥功能的数据保存部210。
[0051]数据接收部201从数据处理装置100接收与登记请求一起发送的变换后管理对象数据D2。
[0052]数据保存处理部202根据来自数据处理装置100的登记请求,将数据接收部201接收到的变换后管理对象数据D2保存到数据保存部210中。
[0053]查询式接收部203接收从数据处理部100发送的变换后查询式Q2。
[0054]查询处理执行部204使用查询式接收部203接收到的变换后查询式Q2执行对数据保存部210的查询处理,取得结果数据集合Rl。
[0055]结果发送部205对数据处理装置100发送查询处理执行部204作为使用了变换后查询式Q2的查询处理的结果取得的结果数据集合Rl。
[0056]接着,对有关本实施方式的数据管理系统的动作的概要进行说明。首先,说明数据登记时的动作。
[0057]用户将想要使服务器200持久管理的管理对象数据Dl向数据处理装置100发送。从用户传送给数据处理装置100的管理对象数据Dl被数据处理装置100的数据接收部101接收,并向数据变换部102传送。
[0058]数据变换部102在从数据接收部101送来管理对象数据Dl时,参照加密?索引对象信息存储部113存储的加密?索引对象信息,确定包含在管理对象数据Dl中的加密对象及作为生成索引值的对象的数值数据。并且,数据变换部102将所确定的加密对象的数值数据使用密钥信息存储部114存储的密钥信息加密,并且生成与加密后的数值数据中的作为生成索引值的对象的数值数据相对应的索引值。
[0059]在本实施方式中,数据变换部102在生成索引值时,使用字符串集合存储部111存储的字符串集合、以及辅助信息存储部112存储的辅助信息。字符串集合是能够唯一地确定大小关系的多个字符串要素的集合,按照对照规则在事前构建,保存在字符串集合存储部111中。此外,辅助信息是为了使用字符串用要素生成索引值而需要的信息,例如,是将构成字符串集合的有限个数的字符串要素循环使用的情况下的规则、或将字符串要素分配给数值时的分配规则等的信息。数据变换部102使用辅助信息,确定与包含在字符串集合中的多个字符串要素中的、作为生成索引值的对象的数值数据相对应的字符串要素,使用所确定的字符串要素,生成与加密后的数值数据对应的索引值。并且,数据变换部102生成包括加密后的数值数据和索引值的变换后管理对象数据D2。
[0060]由数据变换部102生成的变换后管理对象数据D2被从数据发送部103向服务器200发送,由服务器200的数据接收部201接收,向数据保存处理部202传送。数据保存处理部202不进行特殊的处理,而将数据接收部201接收到的变换后管理对象数据D2原样保存到数据保存部210中。
[0061]接着,说明使用了查询式的数据检索时的动作。在本实施方式的数据管理系统中,用户的查询不是对服务器200直接进行,而是对数据处理装置100进行。
[0062]用户将用来使服务器200执行查询处理的查询式Ql送到数据处理装置100。从用户送给数据处理装置100的查询式Ql被数据处理装置100的查询式接收部104接收,向查询式变换部105传送。
[0063]查询式变换部105如果被从查询式接收部104送来查询式Ql,则基于该查询式Q1,生成能够用在数据登记时生成的索引值进行检索那样的变换后查询式Q2。具体而言,查询式变换部105使用字符串集合存储部111存储的字符串集合及辅助信息存储部112存储的辅助信息,将查询式Ql的使用了数值的条件部分变换为使用了包含在字符串集合中的字符串要素的条件部分,来生成变换后查询式Q2。
[0064]由查询式变换部105生成的变换后查询式Q2被从查询式发送部106向服务器200发送,被服务器200的查询式接收部203接收,向查询处理执行部204传送。查询处理执行部204原样使用查询式接收部203接收到的变换后查询式Q2,执行针对数据保存部210的查询处理,取得适合于变换后查询式Q2的条件部分的结果数据集合Rl。
[0065]由查询处理执行部204取得的结果数据集合Rl被从结果发送部205向数据处理装置100发送,被数据处理装置100的结果接收部107接收,向后处理部108传送。后处理部108将结果接收部107接收到的结果数据集合Rl根据需要加以变换,以适合于原查询式Ql的要求,生成返回结果数据集合R2。并且,将由该后处理部108生成的返回结果数据集合R2作为相对查询式Ql的检索结果从结果发送部109向用户返回。
[0066]如以上这样,在有关本实施方式的数据管理系统中,在数据处理装置100中,生成变换后管理对象数据D2,该变换后管理对象数据D2是将包含在管理对象数据Dl中的想要隐秘的数值数据加密、并进而再附加与加密后的数值数据对应的索引值而成的,将该变换后管理对象数据D2保存到服务器200的数据保存部210中。此外,将用户发出的查询式Ql在数据处理装置100中变换为能够用索引值检索的变换后查询式Q2,服务器200使用该变换后查询式Q2执行对数据保存部210的查询处理,将作为查询处理的结果的结果数据集合Rl向数据处理装置100发送。并且,在数据处理装置100中,将结果数据集合Rl根据需要加以变换,以适合于查询式Ql的要求,生成返回结果数据集合R2,将该返回结果数据集合R2作为查询式Ql的结果向用户返回。因而,根据有关本实施方式的数据管理系统,能够在服务器200侧直接执行关于加密后的数值数据的运算,例如对数值数据的范围检索、MAX/MIN处理、结合处理、排序处理等的对于要求高速性的句法进行的运算,能够在确保较高的安全性的同时,实现高性能的检索处理。
[0067]接着,对于数据处理装置100具备的数据变换部102,一边例示处理的具体例一边详细地说明。图3是表示数据变换部102的具体的结构例的块图。
[0068]数据变换部102如图3所示,具备加密.索引对象确定部121、字符串要素分配决定部122、索引值生成部123、和变换后管理对象数据生成部124。
[0069]加密.索引对象确定部121参照加密.索引对象信息存储部113存储的加密.索引对象信息,确定包含在输入的管理对象数据Dl中的加密对象及作为生成索引值的对象的数值数据。
[0070]图4是表示加密.索引对象信息的一例的图。加密.索引对象信息包括确定适用对象的管理对象数据Dl的种类的信息、和在该管理对象数据Dl中确定需要加密或索引值的生成的部分的信息。图4的例子表示适用于以图2的关系形式表现的从业员表的加密.索引对象信息的例子,示出对年收入列及年龄列进行加密的指定、再对年收入列进行生成索引值的指定、将其索引值设为“索引I”的列值。
[0071]图5示出了按照图4所示的加密?索引对象信息将以图2的关系形式表现的从业员表的年收入列及年龄列的数值数据加密、再生成与年收入列的数值数据对应的索引值、作为“索引I”的列值附加的情况下的例子。该图5所示的从业员表相当于由后述的变换后管理对象数据生成部124 生成的变换后管理对象数据D2。在考虑到使从业员表由服务器200持久管理的情况下,由于特别是年收入或年龄等的信息被要求隐秘性,所以在加密的状态下保存到服务器200中。此时,由于在服务器200侧能够直接执行关于加密后的数值数据的运算,所以对于作为运算的对象的加密后的数值数据,使用与该数值数据对应的字符串要素生成索引值,能够使用该索引值判断加密后的数值数据的大小关系。
[0072]字符串要素分配决定部122对被加密?索引对象确定部121确定为生成索引值的对象的数值数据,分配包含在字符串集合存储部111存储的字符串集合中的字符串要素中的I个字符串要素。
[0073]图6是概念性地表示字符串集合存储部111存储的字符串集合的示意图。字符串集合如图6所示,将按照对照规则唯一地决定大小关系的多个字符串要素以升序排列进行管理。对照规则也称作校勘(Collation),由对照规则唯一地决定字符串要素的大小关系。包含在字符串集合中的字符串要素既可以根据任意的词典生成,也可以按照对照规则随机地生成。字符串要素通过生成某种程度较大的个数,能够提高安全强度。因此,也可以对包含在字符串集合中的字符串要素的个数设置阈值,在字符串集合的生成时持续生成字符串要素,直到字符串要素的个数成为阈值以上为止。
[0074]图7是表示即使是相同的字符串、但根据对照规则的差异而大小关系不同的例子的图。在图7的例子中表示,如果按照对照规则1,则字符串aEER和字符串Ra是相同的值,相对于此,如果按照对照规则2,则字符串aEER变得比字符串Ra大。此外,示出了如果按照对照规则1,则字符串EUFEFFEcES变得比字符串FEEEEFUSR大,相对于此,如果按照对照规则2,则字符串EUFEFFEcES变得比字符串FEEEEFUSR小。对照规则规定了对于字符的大小关系(包括相同的值)、或作为伪字符的除去代码等。例如,在作为程序语言的Java (注册商标)等中,标准地安装有Collation类,可以将它们作为对照规则利用。
[0075]字符串集合是按照以上那样的对照规则决定大小关系的多个字符串要素的集合。但是,在本实施方式中使用的字符串集合中不包含成为相同值的字符串要素,在全部的字符串要素间唯一地确定大小关系。此外,在字符串集合的生成中使用的对照规则没有特别限定,也可以使用一般的拉丁语规则(决定字母的大小关系的规则)等作为对照规则。
[0076]字符串要素分配决定部122从包含在字符串集合中的字符串要素中,决定对作为生成索引值的对象的数值数据分配的字符串要素。这里,最简单的分配方法是按照字符串集合中的字符串要素的排列顺序使赋予给字符串要素的数值与数值数据表示的数值映射(mapping)的方法。但是,在要将任意的数值用有限的字符串要素表现的情况下,即使限定于整数值,在现实上也不能完全表现。所以,在本实施方式中的方式为,在作为生成索引值的对象的数值数据表示的数值比包含在字符串集合中的字符串要素的个数大的情况下,通过使包含在字符串集合中的字符串要素循环,将字符串要素的循环重复必要的次数,由此决定分配给数值数据表示的数值的字符串要素。
[0077]即,在包含在字符串集合中的字符串要素的个数例如是100、按照字符串要素的排列顺序赋予O?99的数值的情况下,如果作为生成索引值的对象的数值数据表示的数值例如是103,则使包含在字符串集合中的字符串要素循环I次,按照字符串集合中的排列顺序将与3的数值相对应的字符串要素分配给数值数据103。此外,如果作为生成索引值的对象的数值数据表示的数值例如是215,则使包含在字符串集合中的字符串要素循环两次,按照字符串集合中的排列顺序将与15的数值相对应的字符串要素分配给数值数据215。但是,如果将这样分配的字符串要素原样作为索引值,则索引值的大小关系丢失,所以在后述的索引值生成部123中,对于字符串要素分配决定部122分配的字符串要素,附加表示循环的次数的信息来生成索引值。具体而言,例如,在使包含在字符串集合中的字符串要素循环I次而分配了字符串要素的情况下,将对该字符串要素的开头附加了 X而成的值作为索引值,在使包含在字符串集合中的字符串要素循环两次而分配了字符串要素的情况下,将对该字符串要素的开头附加了 XX而成的值作为索引值。由此,在包含在字符串集合中的字符串要素的个数为一定的状态的同时,关于超过该个数的数值数据,也能够以现实性的成本生成维持了大小关系的索引值。另外,表示循环的次数的信息、或将该信息附加到字符串要素的哪个位置等、构成字符串集合的有限个数的字符串要素循环使用的情况下的规则作为辅助信息由辅助信息存储部112存储。
[0078]此外,字符串要素分配决定部122也可以使用事前定义的分配规则,根据包含在字符串集合中的字符串要素中决定对作为生成索弓I值的对象的数值数据分配的字符串要素。例如,定义分配函数POS,如果是Pos=n,则将按照字符串集合中的排列顺序赋予的数值与数值数据表示的数值(在使字符串集合循环的情况下是循环后的剩余的数值)一致的字符串要素作为对数值数据分配的字符串要素。此外,如果是Pos=2n,则将按照字符串集合中的排列顺序赋予的数值与数值数据表示的数值(在使字符串集合循环的情况下是循环后的剩余的数值)的2倍一致的字符串要素作为对数值数据分配的字符串要素。[0079]S卩,在作为生成索引值的对象的数值数据表示的数值例如是15的情况下,如果事前定义的分配函数是Pos=n,则将按照字符串集合中的排列顺序与15的数值相对应的字符串要素分配给数值数据15。此外,如果事前定义的分配函数是Pos=2n,则将按照字符串集合中的排列顺序与30的数值相对应的字符串要素分配给数值数据15。由此,能够降低根据索引值推定数值的风险,能够使安全性提高。
[0080]此外,如上述那样,在使包含在字符串集合中的字符串要素循环使用的情况下,也可以对每个循环的次数定义不同的分配规则。这样,如果对每个循环的次数定义不同的分配规则,则根据索引值推定数值变得更加困难,所以能够进一步提高安全性。另外,在字符串要素的分配中使用的分配规则作为辅助信息由辅助信息存储部112存储。
[0081]索引值生成部123针对作为生成索引值的对象的数值数据,使用由字符串要素分配决定部122分配的字符串要素生成索引值。例如,在字符串要素分配决定部122使包含在字符串集合中的字符串要素循环I次来分配字符串要素的情况下,索引值生成部123生成对由字符串要素分配决定部122分配的字符串要素的开头附加了 X而成的值作为索引值。此外,在字符串要素分配决定部122使包含在字符串集合中的字符串要素循环两次来分配字符串要素的情况下,索引值生成部123生成对由字符串要素分配决定部122分配的字符串要素的开头附加了 XX而成的值作为索引值。
[0082]图8是概念性地表示字符串要素分配决定部122分配字符串要素从而索引值生成部123生成索引值的处理的一例的示意图。图8的例子表示包含在字符串集合中的字符串要素的个数是100的情况,例I是在全部的循环中分配函数为Pos=n的例子,例2是对每个循环定义分配函数Pos的例子。
[0083]在字符串要素分配决定部122对数值分配字符串要素的情况下,首先,决定与作为对象的数值对应的循环次数。例如,在作为对象的数值是102的情况下,包含在字符串集合中的字符串要素的循环次数是I次(循环I)。
[0084]接着,字符串要素分配决定部122在所决定的循环次数中,按照分配规则Pos,决定对作为对象的数值分配的字符串要素。例如,在作为对象的数值是102的情况下,在例I中,针对循环I的分配函数是Pos=n,所以分配“ABD”的字符串要素。此外,在例2中,针对循环I的分配函数是Pos=2n,所以分配“B⑶F”的字符串要素。
[0085]接着,索引值生成部123对由字符串要素分配决定部122分配的字符串要素附加表示循环次数的信息,生成与作为对象的数值对应的索引值。例如,在作为对象的数值是102的情况下,在例I中,由字符串要素分配决定部122分配了 “ABD”的字符串要素,在循环I中决定对字符串要素的开头附加X,所以作为索引值而生成“XABD”。此外,在例2中,由字符串要素分配决定部122分配了“BCDF”的字符串要素,在循环I中决定对开头附加X,所以作为索引值而生成“XBCDF”。这样生成的索引值决定了对字符串要素的开头附加了 X的值比没有对字符串要素的开头附加X的值大、对字符串要素的开头附加了 XX的值比对字符串要素的开头附加了 X的值大的顺序关系。例如,是ZZZ〈XAB,XZZZ〈XXAB。
[0086]此外,如果通过以上说明的方法生成与数值数据对应的索引值,则在对表示相同的数值的多个数值数据分别生成索引值的情况下生成相同的索引值,留有在服务器侧推定原来的数值的风险。为了避免这样的风险,索引值生成部123在对表示相同的数值的多个数值数据分别生成索引值的情况下,对于一方的索引值,在将作为其原本的字符串要素按照对照规则变形后,生成索引值。这样生成的多个索引值彼此在单纯进行字符串比较(默认对照)的情况下是不同的值,但在指定在字符串要素的变形中使用的对照规则来进行比较的情况下,能够正确地判断是相同的值。由于在字符串要素的变形中使用的对照规则是在数据处理装置100侧定义的,所以在服务器200侧,值的推定变难,能够使安全性提高。另夕卜,在字符串要素的变形中使用的对照规则既可以是与为生成字符串集合而使用的对照规则相同的规则,也可以是不同的规则。
[0087]图9是概念性地表示将对相同的数值分配的字符串要素按照对照规则变形的处理的示意图。例如,设在包含在从业员表中的两个记录中,在与年收入列对应的数值数据表示的数值分别是3的情况下,由字符串要素分配决定部122对数值3分配的字符串要素是“BCDE”。这里,如果使用将“G”及“M”作为除去代码、使“C”与“H”、“L”与“E”分别作为同值的对照规则,则能够将字符串要素“BCDE”变形为例如“GBMHDML”的字符串。在此情况下,索引值生成部123可以将与对应于两个记录的年收入列的一方的数值数据相对应的索引值设为BCDE,将与另一方的数值数据相对应的索引值设为例如GBMHDML。这些索引值在单纯的字符串比较中是不同的值,而在指定对照规则进行比较的情况下为相同的值。
[0088]这里,通过在按照对照规则将字符串要素变形而生成索引值的情况下设置一些规贝U,能够使检索处理高速化。例如,是即使将字符串要素变形的情况下也使表示循环次数的信息原样维持的规则。包含在字符串集合中的字符串要素的个数是1000,在是按照每个循环对字符串要素的开头附加X的规则的情况下,在开头不带有X的索引值表示的数值是O?999的范围,在开头仅带有I个X的索引值表示的数值是1000?1999的范围,在开头带有两个X的索引值表示的数值为2000?2999的范围。这在服务器200侧不知道,而在数据处理装置100侧能够识别。因而,例如如果对该列的索引值进行SQL函数的match (值,“X”)那样的指定,则与检索1000?1999的要素是同义的,如果进行match (值,“XX”)那样的指定,则与检索2000?2999的要素是同义的。该方法仅在解决数据处理装置100侧不具有对照规则的情况下的范围(值)检索时是有效的,能够将显然不需要的范围的索引值除去。
[0089]此外,保持用来将需要对照解决的索引值与其以外的值相区别的信息也是有效的。即,在使用对照规则从相同的值生成两个不同的索引值的情况下,将该索引值使用对照规则比较大小关系。但是,多数情况下使用了对照规则的处理比一般的比较处理低速,所以优选尽可能在数据处理装置100侧意识到这些而将查询式优化。所以,在使用对照规则将字符串要素变形而生成了索引值的情况下,用位串保持表示对该字符串要素需要进行对照解决的信息。此外,在按照每个循环在该循环内同样地使用对照规则生成索引值的情况下,用位串保持表示在该循环内需要对照解决的信息。也可以在各个循环中使字符串要素具有位串,但这里为了信息量削减而采取通过字符串要素用的位串与循环用的位串的叠加来管理的方式。由此,能够判断是否需要按照查询式的范围检索进行使用了对照规则的对照解决,能够进行关于值的查询的优化。
[0090]上述那样的用来将需要对照解决的索引值与其以外的值相区别的信息例如可以作为辅助信息之一保存到辅助信息存储部112中。此外,也可以考虑在索引值中直接装入表示是否需要对照解决的信息的方法。例如,只要将在对照规则中指定为除去代码的字符的I个保留为用于判断、附加在字符串要素的开头或在上述表示循环次数的信息(X,XX等)的后面,将由此得到的值作为索引值即可。
[0091]变换后管理对象数据生成部124将由加密?索引对象确定部121确定为加密对象的管理对象数据Dl的数值数据使用密钥信息存储部114存储的密钥信息加密,并附加索引值生成部123生成的索引值,生成变换后管理对象数据D2。将这样生成的变换后管理对象数据D2如上述那样从数据处理装置100向服务器200传送,保存到服务器200的数据保存部210中。
[0092]接着,对数据处理装置100具备的查询式变换部105,一边例示处理的具体例一边更详细地说明。图10是表示查询式变换部105的具体的结构例的块图。
[0093]查询式变换部105如图10所示,具备查询式解析部151、优化部152、字符串要素分配决定部153、和变换后查询式生成部154。
[0094]查询式解析部151对输入的查询式Ql进行解析,使用加密?索引对象信息存储部113存储的加密.索引对象信息,确定将生成了索引值的数值数据作为检索的对象的条件部分。
[0095]优化部152使用辅助信息存储部112存储的辅助信息(将字符串要素循环使用的情况下的规则、用来将需要对照解决的索引值与其以外的值相区别的信息等),将查询式解析部151确定的查询式Ql的条件部分优化。
[0096]图11是概念性地表示使用辅助信息将查询式Ql的条件部分优化的处理的一例的示意图。在图11的例子中,包含在字符串集合中的字符串要素的个数是3000(0~2999)。在不使包含在字符串集合中的字符串要素循环的循环O中,由于分配函数是Pos=3n,所以从循环O被分配字符串要素的数值是O~999的范围,表示对照解决的需要与否的信息为不需要对照。此外,在使包`含在字符串集合中的字符串要素循环I次的循环I中,由于分配函数是Pos=3n,所以从循环I被分配字符串要素的数值是1000~1999的范围,表示对照解决的需要与否的信息为需要对照。此外,在使包含在字符串集合中的字符串要素循环两次的循环2中,由于分配函数是Pos=n,所以从循环2被分配字符串要素的数值是2000~4999的范围,表示对照解决的需要与否的信息为不需要对照。各循环的分配函数或表示对照解决的需要与否的信息例如是从辅助信息存储部112得到的信息。
[0097]在图11的查询式I中,可知条件部分的由数值表示的范围是循环O的范围内。并且,与被分配循环O的字符串要素的数值相对应的索引值不需要使用了对照规则的对照解决。因而,查询式I的条件部分不特别优化,只要使用循环O的字符串要素将数值变换为索引值即可。
[0098]在图11的查询式2中,可知条件部分的由数值表示的范围跨越循环I和循环2这两个循环。并且,与被分配循环2的字符串要素的数值相对应的索引值不需要使用了对照规则的对照解决,但与被分配循环I的字符串要素的数值相对应的索引值需要使用了对照规则的对照解决。这里,如果设表示循环I的字符是X,则能够通过match (t.值,“X”)将具有使用了循环I的字符串要素的索引值的记录全部取出。此外,关于循环2,不需要使用了对照规则的对照解决,能够原样在服务器200侧处理,所以将条件部分的数值范围替换,将从对应于该循环2的数值中的开头的数值到条件部分的数值范围的上限值为止的范围作为检索范围。这里,如果单纯使用对应于循环2的数值中的开头的数值,则会在服务器200侧确定字符串集合的开头的字符串要素是什么,所以在将范围扩展以包含循环I后,将条件部分的数值范围替换。在图11的例子中,将从循环I中随机地选择的值1535设定为数值范围的下限值。在此情况下,一部分区间的记录被重复检索,所以,为了防止该情况而在查询式中追加了 distinct处理。
[0099]字符串要素分配决定部153与数据变换部102的字符串要素分配决定部122同样地,使用辅助信息存储部112存储的辅助信息(在字符串要素的分配中使用的分配函数、将字符串要素循环使用的情况下的规则等),从字符串集合存储部111存储的字符串集合之中,决定对查询式Ql的条件部分的数值分配的字符串要素。这里,查询式Ql的条件部分是根据需要而由优化部152优化后的条件部分。
[0100]变换后查询式生成部154将查询式Ql的条件部分(根据需要而由优化部152优化后的条件部分)变换为使用了由字符串要素分配决定部153分配的字符串要素的条件部分,来生成变换后查询式Q2。这样生成的变换后查询式Q2如上述那样被从数据处理装置100向服务器200传送,在服务器200的查询处理中使用。
[0101]然后,如果将作为使用了变换后查询式Q2的查询处理的结果的结果数据集合Rl从服务器200向数据处理装置100传送,则如上述那样,在后处理部108中,将该结果数据集合Rl变换为最终作为查询式Ql的应答向用户返回的返回结果数据集合R2。另外,后处理部108中的处理仅在有需要的情况下进行即可,在检索结果不包含加密部分的情况、或通过优化而事前知道不需要数据处理装置100侧的对照的情况下等,只要将结果数据集合Rl原样作为返回结果数据集合R2向用户返回即可。
[0102](第二实施方式)
[0103]接着,对第二实施方式进行说明。第二实施方式是将用来进行索引值的对照解决的对照解决程序从数据处理装置100向服务器200发送、在服务器200中使用该对照解决程序进行索引值的对照解决的实施方式。
[0104]图12是表示有关第二实施方式的数据管理系统的整体结构的块图。在本实施方式的数据管理系统中,作为数据处理装置100的功能性的构成要素,追加了生成对照解决程序Pl的程序生成部130。其他结构与图1所示的第一实施方式的数据管理系统的结构是同样的。
[0105]程序生成部130按照在数据变换部102中生成索引值时在字符串要素的变形中使用的对照规则,生成用来对需要对照解决的索引值进行对照解决的对照解决程序P1。将程序生成部130生成的对照解决程序Pl和查询式变换部105生成的变换后查询式Q2 —起从查询式发送部106向服务器200发送。
[0106]第二实施方式的情况下,数据处理装置100的查询式变换部105关于查询式的条件部分的需要进行对照解决的值,生成赋予了 collate标志的变换后查询式Q2。图13是表示赋予了 collate标志的变换后查询式Q2的一例的图。collate标志例如如图13所示,在需要对照解决的句法之后,以指定在对照解决中使用的对照解决程序Pl的形式赋予,它是在作为一般的查询语言的SQL或XQUERY中也规定的句法。
[0107]在服务器200侧,在查询处理执行部204使用变换后查询式Q2执行查询处理时,对变换后查询式Q2进行解析,在检测到被赋予了 collate标志(collate “xxx”)的句法的情况下,检查与变换后查询式Q2 —起送来的对照解决程序Pl是否是用collate标志指定的程序,如果是,则使用该对照解决程序Pl进行对照解决。[0108]对照解决程序Pl例如是作为程序接口而仅具有确定2值间的大小关系的(返回一1,0,1)的功能的、耐篡改性较高的程序(软件),优选的是对照规则自身没有被确定那样的构成。此外,在保证了服务器200侧的安全的情况下,也可以不是每次查询时从数据处理装置100向服务器200发送变换后查询式Q2与对照解决程序Pl,而是事前在服务器200侧登记对照解决程序Pl。
[0109]在第二实施方式的结构的情况下,即使包含有需要对照解决的索引值,也能够在服务器200侧直接执行范围检索、MAX/MIN处理、结合处理、排序处理等的几乎全部的处理,只要作为查询处理的结果的结果数据集合Rl不包含加密后的数值数据,就能够将结果数据集合Rl作为返回结果数据集合R2原样向用户返回。
[0110]如以上这样,第二实施方式的结构与在数据处理装置100侧进行对照解决的情况相比,安全水平稍差,但在服务器200侧能够执行几乎全部的值关系的处理。因而,在与安全性相比更重视高性能性的情况下,优选的是采用该结构。
[0111](第三实施方式)
[0112]接着,对第三实施方式进行说明。第三实施方式是使用与服务器200不同的服务器进行索引值的对照解决的实施方式。
[0113]图14是表示有关第三实施方式的数据管理系统的整体结构的块图。本实施方式的数据管理系统如图14所示,与数据处理装置100及服务器200分离独立地构成,具备与服务器200经由网络可通信地连接的对照解决服务器300。其他结构与图1所示的有关第一实施方式的数据管理系统的结构是同样的。
[0114]对照解决服务器300具备对照请求受理部301、程序选择部302、对照解决处理部303、和程序存储部310 。
[0115]程序存储部310存储对照解决程序Pl,P2,-,Pn0对照解决程序P1,P2,…,Pn是事前根据来自数据处理装置100的请求而登记的程序,分别对应于在数据处理装置100中在字符串要素的变形中使用的对照规则。这些对照解决程序P1,P2,…,Pn可以通过对各对照解决程序赋予的URI来确定。例如,在对照解决服务器300的URL是“http://www.toshiba.c0.jp”的情况下,被赋予了“collationl”的名称的对照解决程序的URI为“http://www.toshiba.c0.jp/collationl”,通过指定该 URI,能够将被赋予了 “collationl” 的名称的对照解决程序取出。另外,各对照解决程序的URI在对照解决程序的登记时被数据处理装置100侧所了解。
[0116]对照请求受理部301受理来自服务器200的对照请求,将根据该对照请求由对照解决处理部303进行了对照解决处理的结果返回给服务器200。
[0117]程序选择部302基于包含在来自服务器200的对照请求中的URI标志,选择程序存储部310存储的对照解决程序P1,P2,…,Pn中的、在对照解决处理部303的对照解决处理中使用的对照解决程序,并传递给对照解决处理部303。
[0118]对照解决处理部303使用由程序选择部302选择的对照解决程序,进行包含在来自服务器200的对照请求中的值的对照解决处理。由对照解决处理部303进行的对照解决处理的结果被从对照请求受理部301作为对对照请求的应答向服务器200返回。
[0119]在第三实施方式的情况下,数据处理装置100的查询式变换部105关于查询式的条件部分的需要进行对照解决的值,生成以URI表现植入了在对照解决中使用的对照解决程序的形式的变换后查询式Q2。图15是表示以URI表现植入在对照解决中使用的对照解决程序的形式的变换后查询式Q2的一例的图。这样的形式的查询式也不脱离作为一般的查询语言的SQL及XQUERY的规格。
[0120]在服务器200侧,当查询处理执行部204使用变换后查询式Q2执行查询处理时,对变换后查询式Q2进行解析,在检测到被URI指定的句法的情况下,对对照解决服务器300发出对照请求。例如,服务器200的查询处理执行部204针对想要解决对照关系的两个字符串,向对照请求受理部 301 以 Compare(xl,x2,“http://www.toshiba.c0.jp/colIationl”)那样的形式进行对照请求。该对照请求被对照解决服务器300的对照请求受理部301受理,由程序选择部302从程序存储部310中选择被赋予了 “collationl”的名称的对照解决程序,传递给对照解决处理部303。对照解决处理部303使用被赋予了 “collationl”的名称的对照解决程序,进行Xl和x2这两个值的大小比较,将其结果从对照请求受理部301向服务器200的查询处理执行部204返回。
[0121]在第三实施方式的结构中,服务器200侧只是能够仅知道两个字符串间的大小关系,不能知道对照规则自身。因而,在第三实施方式的结构的情况下,能够削减服务器200侧确定对照规则的风险。但是,在第三实施方式的结构中,还有对照解决服务器300也必须具有高可靠性、不能将确定对照规则的风险完全排除、和因为是经由网络的对照解决处理而处理时间变得比第二实施方式长这些缺点。但是,第三实施方式的结构由于能够仅在服务器200侧就使关于值的条件处理完结,所以适合用于与第二实施方式相比也可以使性能稍稍变差、但想要提高安全强度的情况下等。
[0122](实施例)
[0123]接着,在上述各实施方式的结构中,将对用户发行的查询式Ql返回返回结果数据集合R2之前的动作的具体例作为第一实施例?第四实施例进行说明。图16是说明第一实施例?第四实施例的概要的不意图,图16 (a)表不第一实施例,图16 (b)表不第二实施例,图16 (c)表不第三实施例,图16 (d)表不第四实施例。
[0124]第一实施例以第一实施方式的结构为前提,是在数据登记时不进行使用了对照规则的字符串要素的变形(即,容许对相同的数值数据生成相同的索引值)的例子。第二实施例以第二实施方式的结构为前提,是在数据登记时进行使用了对照规则的字符串要素的变形、从数据处理装置100对服务器200传递对照解决程序、在服务器200侧使用该对照解决程序进行对照解决的例子。第三实施例以第三实施方式的结构为前提,是在数据登记时进行使用了对照规则的字符串要素的变形、利用对照解决服务器300进行对照解决的例子。第四实施例以第一实施方式的结构为前提,是在数据登记时进行使用了对照规则的字符串要素的变形、在数据处理装置100侧进行对照解决的例子。
[0125]图17是表示在第一实施例?第四实施例中进行处理的条件的图。在第一实施例?第四实施例中,设用户发行的查询式Ql是,保存在服务器200的数据保存部210中的从业员表的年收入列为范围检索的对象,并且将该范围内的年收入最终通过Order By排序,进而在Select部分仅将不是年收入的从业员ID取出,请求向用户返回。由于保存在服务器200的数据保存部210中的从业员表的年收入列被加密,所以将范围检索的条件变换为关于与年收入列对应的索引值的列的条件,通过优化而设定上限值、下限值等。
[0126]设在索引值的生成中使用的字符串集合与在图8的例2中说明的同样,关于循环O和循环2不需要对于索引值的对照解决,作为辅助信息存储有仅在循环I的范围内需要对照解决的情况。此外,设字符串要素的个数是100个,作为辅助信息存储有按照字符串集合中的排列顺序赋予的数值为O?50的字符串要素不需要对照解决、按照字符串集合中的排列顺序赋予的数值为51?99的字符串要素需要对照解决的情况。此外,设对在对照解决中使用的对照解决程序Pl赋予的名称是“collationl”,在第三实施例中在对照解决中使用的对照解决服务器300的URL是“http://www.toshiba.c0.jp”。
[0127]图18是表示在第一实施例?第四实施例中由数据处理装置100的查询式变换部105生成的变换后查询式Q2的图,分别将在第一实施例中生成的变换后查询式Q2表示为变换后查询式I,将在第二实施例中生成的变换后查询式Q2表示为变换后查询式2,将在第三实施例中生成的变换后查询式Q2表示为变换后查询式3,将在第四实施例中生成的变换后查询式Q2表示为变换后查询式4。
[0128]在第一实施例中,由于不进行对于索引值的对照解决,所以使用保存在服务器200中的从业员表的索引列的索引值,不使用对照解决程序P1,仅在服务器200中就能够使处理完结。由此,在第一实施例的情况下,只要查询式Ql的结果取得部分(在SQL的情况下是Select部分)不请求加密后的数据的取得,就能够将作为服务器200的查询处理执行部204的查询处理的结果的结果数据集合Rl原样作为返回结果数据集合R2向用户返回。
[0129]在第一实施例的情况下,将作为查询式Ql的条件部分的102〈值〈152的部分使用在数据登记时使用的字符串集合变换为“XB⑶F”〈值〈“XXABD”。此外,由于不需要对照解决,所以Order By的部分为原样即可。因而,第一实施例的最终的变换后查询式Q2如在图18的变换后查询式I中表示那样,为
[0130]Select 从业员 ID
[0131]From从业员表
[0132]Where “ XBCDF ”〈值〈“ XXABD ”
[0133]Order By 值。
[0134]将作为使用了该变换后查询式Q2的查询处理的结果的结果数据集合Rl原样作为返回结果数据集合R2向用户返回。
[0135]在第二实施例中,使用数据处理装置100的程序生成部130生成的对照解决程序P1,在服务器200侧进行对照解决。在此情况下,也与第一实施例同样地,只要查询式Ql的结果取得部分(在SQL的情况下是Select部分)不请求加密后的数据的取得,就能将作为服务器200的查询处理执行部204的查询处理的结果的结果数据集合Rl原样作为返回结果数据集合R2向用户返回。但是,在使用对照解决程序Pl进行对照解决的情况下,与不进行对照解决的情况相比,速度稍稍下降,所以在数据处理装置100侧使用辅助信息尽可能将查询式优化。
[0136]根据图17所示的条件,由于102〈值〈152跨越循环I和循环2的区间,根据辅助信息知道关于循环2不需要对照解决,所以关于属于循环2的150〈值〈152,不需要指定对照解决程序Pl而使服务器200进行对照解决。此外,关于循环1,在某个字符串要素中需要对照解决,但根据辅助信息可知,在100〈值〈125的区间中不需要对照解决。另一方面,在125 =值〈150的区间中需要对照解决,所以将指定了在对照解决中使用的对照解决程序PI的程序名“collationl”的collate标志赋予在需要对照解决的句法之后。并且,如果取这样被范围分割后的条件的0R,则为应求出的查询式。
[0137]S卩,在第二实施例中,通过优化处理将查询式Ql变形,以成为
[0138]Select 从业员 ID
[0139]From从业员表
[0140]Where (102〈值〈125)
[0141]Or (125 刍值〈150collate “collationl”)
[0142]Or (150 刍值〈152)
[0143]Order By 值 collate “collationl”。
[0144]这样,对于Order By的部分,也赋予指定了在对照解决中使用的对照解决程序Pl的程序名“collationl”的collate标志。另外,在将范围检索的条件部分分割的情况下,如上述那样,优选使一部分的范围重复来设定分割后的范围,以使得不会不经意地使用字符串集合中的开头的字符串或末尾的字符串要素,但这里省略该处理。
[0145]在第二实施例中,对于以上这样变形的查询式QI,将作为条件部分的(IO 2〈值〈125)、(125 =值〈150)、(150 =值〈152)分别使用在数据登记时使用的字符串集合加以变换。因而,第二实施例中的最终的变换后查询式Q2如在图18的变换后查询式2中表示那样,为
[0146]Select 从业员 ID
[0147]From从业员表
[0148]Where (“XBCDF,,〈值〈“XJKLM”)
[0149]Or (“XJKLM,,刍值〈“XXAB” collate “collationl”)
[0150]Or (“XXAB” 兰值〈“XXABD”)
[0151]Order By 值 collate “collationl”。
[0152]在第三实施例中,服务器200不进行对照解决,而是对照解决服务器300的对照解决处理部303根据来自服务器200的请求,使用事前登记的对照解决程序Pl进行对照解决。在第三实施例中,由于通过服务器200的外部的对照解决服务器300执行对照解决,所以在数据处理装置100侧使用辅助信息尽可能将查询式优化比第二实施例更加重要。
[0153]第三实施例的查询式的优化的方法与第二实施例是同样的,但在对照解决中使用的对照解决程序Pl的指定使用URI进行。这里,由于对照解决服务器300的URL是“http://www.toshiba.c0.jp”,对对照解决程序Pl赋予的名称是“collationl”,所以对照解决程序 Pl 的 URI 为 “http://www.toshiba.c0.jp/collationl,,。
[0154]在第三实施例中,指定在该对照解决中使用的对照解决程序Pl的URI,与第二实施例同样地,在将查询式Ql变形以将条件部分分离后,将分离后的条件部分分别使用在数据登记时使用的字符串集合加以变换。因而,第三实施例的最终的变换后查询式Q2如在图18的变换后查询式3中表示那样,为
[0155]Select 从业员 ID
[0156]From从业员表
[0157]Where (“XBCDF,,〈值〈“XJKLM”)
[0158]Or (“XJKLM”刍值 < “XXAB,,collate “http://www.toshiba.c0.jp/collationl”)
[0159]Or (“XXAB” 兰值〈“XXABD,,)[0160]Order By 值 collate “http://www.toshiba.c0.jp/collationl,,。
[0161]在第四实施例中,在服务器200侧不能进行对照解决,并且根据辅助信息可知,查询式Ql的条件部分包含需要对照解决的区间,所以数据处理装置100的查询式变换部105生成从服务器200取得候选解那样的变换后查询式Q2,将由变换后查询式Q2取得的结果数据集合Rl作为一次结果集合向后处理部108输入,将在后处理部108中进行对照解决后进行排序处理的结果作为返回结果数据集合R2向用户返回。
[0162]由于查询式Ql的条件部分的102〈值〈152中的102〈值〈150的范围属于需要对照解决的循环1,所以关于该范围,使用match函数变换为将该范围内的值作为候选解那样的条件部分。此外,由于150 =值〈152的范围属于不需要对照解决的循环2,所以关于该范围变形为进行通常的查询处理的范围检索条件,使用在数据登记时使用的字符串集合进行变换。因而,在第四实施例中,从数据处理装置100向服务器200传送的变换后查询式Q2如在图18的变换后查询式4-1中表示那样,为
[0163]Select*
[0164]From从业员表
[0165]Where match (值,“X,,)0r (“XXAB 兰值〈“XXABD”)
[0166]Order By 值。
[0167]这里,关于Order By,也可以在向服务器200发送的变换后查询式Q2中省略,仅在数据处理装置100侧实施,但这里在不进行对照解决的状态下在服务器200侧实施。其目的在于,利用至少关于循环的次数是与是否进行对照解决无关地确定的情况,尽量使服务器200侧进行处理开销较重的部分。此外,由于在数据处理装置100侧需要对照解决的处理,所以为了取得索引值而设为Select*。作为使用了该变换后查询式Ql的查询处理的结果的结果数据集合Rl作为一次结果集合被向数据处理装置100的后处理部108输入,在后处理部108中,按照在将字符串要素变形时使用的对照规则进一步进行查询处理。
[0168]在对一次结果集合的查询处理中使用的变换后查询式Q2中,对作为原查询式Ql的条件部分的102〈值〈152不特别进行变形,而将上限值及下限值使用在数据登记时使用的字符串集合加以变换。此外,在服务器200侧的处理中,指定在对照解决中使用的对照规则再次执行不完全的排序处理。这里,与第二实施例或第三实施例同样地,使用基于在字符串要素的变形中使用的对照规则生成的对照解决程序Pl进行对照解决,指定对照解决程序Pl的名称“collationl”。在此情况下,由于在服务器200侧知道排序完成部分(在不进行对照解决的状态下进行了排序的部分)、和不确定位置的部分(在match函数中命中的部分),所以也能够利用这一点进一步使查询处理高速化。
[0169]在第四实施例中,在数据处理装置100的后处理部105对一次结果集合进行的查询处理中使用的变换后查询式Q2如图18的变换后查询式4-2所示,为
[0170]Select 从业员 ID
[0171]From一次结果集合
[0172]Where “XBCDF”〈值〈“XXABD” collate “collationl”
[0173]Order By 值 collate “collationl”。
[0174]在第四实施例中,将使用了该变换后查询式Q2的查询处理的结果作为返回结果数据R2向用户返回。[0175]如以上的第一实施例?第四实施例那样,上述实施方式的数据管理系统根据用户希望的安全水平、应答性能等,可以分别采用适当的系统结构,能够进行处理以使安全水平和性能尽量两全。这样,根据实施方式的数据管理系统,能够在确保较高的安全性的同时实现高性能的检索处理。
[0176]实施方式的数据管理系统的数据处理装置100的功能例如可以通过在数据处理装置100中执行规定的程序来实现。在此情况下,数据处理装置100例如如图19所示,为具备 CPU (Central Processing Unit:中央处理单兀)151 等控制装置、ROM (Read OnlyMemory:只读存储器)152及RAM (Random Access Memory:随机存储器)153等存储装置、连接在网络上进行通信的通信I/F154、将各部连接的总线155等的、利用通常的计算机的硬件结构。
[0177]由数据处理装置100执行的程序以能够安装的形式或能够执行的形式的文件记录在⑶-ROM (Compact Disk Read Only Memory:光盘只读存储器)、软盘(FD)、Q)-R(Compact Disk Recordable:可记录光盘)、DVD(Digital Versatile Disc:数字化通用盘)等的能够由计算机读取的记录介质中,作为计算机程序产品加以提供。
[0178]此外,也可以构成为,将由数据处理装置100执行的程序保存到连接在因特网等网络上的计算机上,通过经由网络下载来提供。此外,也可以构成为,将由数据处理装置100执行的程序经由因特网等网络提供或分发。
[0179]此外,也可以构成为,将由数据处理装置100执行的程序预先装入到R0M152等中加以提供。
[0180]由数据处理装置100执行的程序为包括数据处理装置100的各处理部(数据接收部101、数据变换部102、数据发送部103、查询式接收部104、查询式变换部105、查询式发送部106、结果接收部107、后处理部108、结果发送部109、及程序生成部130)的模组结构,作为实际的硬件,例如,通过CPU151 (处理器)从上述记录介质将程序读出并执行,将上述各处理部装载到主存储装置上,在主存储装置上生成上述各处理部。另外,也可以使用 ASIC (Application Specific Integrated Circuit:专用集成电路)或 FPGA(Field-Programmable Gate Array:现场可编程门阵列)等专用的硬件实现数据处理装置100的上述各处理部的一部分或全部。
[0181]以上,说明了本发明的实施方式,但这里说明的实施方式是作为例子提示的,并不意味着限定发明的范围。这里说明的新的实施方式能够以其他各种形态实施,在不脱离发明的主旨的范围中能够进行各种省略、替换、变更。这里说明的实施方式及其变形包含在发明的范围及主旨中,并且包含在权利要求书所记载的发明和其等价的范围内。
【权利要求】
1.一种数据处理装置,具备: 存储部,存储字符串集合,该字符串集合是能够唯一地确定大小关系的多个字符串要素的集合; 数据变换部,将包含在管理对象数据中的数值数据加密,并使用包含在上述字符串集合中的字符串要素生成与上述数值数据对应的索引值,生成包括加密后的上述数值数据和上述索引值的变换后管理对象数据; 第一发送部,向服务器发送上述变换后管理对象数据; 查询式变换部,将查询式的使用了数值的条件部分变换为使用了包含在上述字符串集合中的字符串要素的条件部分,来生成变换后查询式; 第二发送部,将上述变换后查询式向上述服务器发送;以及 接收部,从上述服务器接收使用了上述变换后查询式的查询处理的结果。
2.如权利要求1所述的数据处理装置, 在上述数值数据表示的数值比包含在上述字符串集合中的字符串要素的个数大的情况下,上述数据变换部使包含在上述字符串集合中的字符串要素循环来确定对上述数值数据表示的数值分配的字符串要素,对所确定的字符串要素附加表示循环的次数的信息,生成上述索引值; 在上述查询式的条件部分中使用的数值比包含在上述字符串集合中的字符串要素的个数大的情况下,上述查询式变换部使包含在上述字符串集合中的字符串要素循环来确定对在上述查询式的条件部分中使用的数值分配的字符串要素,使用所确定的字符串要素和表示循环的次数的信息,变换上述查询式的条件部分。
3.如权利要求1所述的数据处理装置,` 上述数据变换部使用事前定义的分配规则,确定包含在上述字符串集合中的多个字符串要素中的、对上述数值数据表示的数值分配的字符串要素,使用该字符串要素生成上述索引值; 上述查询式变换部使用上述分配规则,确定包含在上述字符串集合中的多个字符串要素中的、对在上述查询式的条件部分中使用的数值分配的字符串要素,使用该字符串要素变换上述查询式的条件部分。
4.如权利要求1所述的数据处理装置, 上述数据变换部按照事前定义的对照规则,将对上述数值数据表示的数值分配的字符串要素变形来生成上述索引值,并对在该索引值的生成中使用的字符串要素附加表示需要遵循上述对照规则进行大小关系的对照处理的信息; 上述查询式变换部将上述查询式的条件部分变换为分离成包含需要遵循上述对照规则进行大小关系的对照处理的字符串要素在内的部分和不包含需要遵循上述对照规则进行大小关系的对照处理的字符串要素在内的部分的条件部分。
5.如权利要求4所述的数据处理装置, 还具备程序生成部,该程序生成部基于上述对照规则,生成用来进行字符串要素的大小关系的对照处理的对照解决程序; 上述第二发送部将上述对照解决程序与上述变换后查询式一起向上述服务器发送。
6.一种数据管理系统,具备数据处理装置、和与该数据处理装置可通信地连接的服务器, 上述数据处理装置具备: 存储部,存储字符串集合,该字符串集合是能够唯一地确定大小关系的多个字符串要素的集合; 数据变换部,将包含在管理对象数据中的数值数据加密,并使用包含在上述字符串集合中的字符串要素生成与上述数值数据对应的索引值,生成包括加密后的上述数值数据和上述索引值的变换后管理对象数据; 第一发送部,向上述服务器发送上述变换后管理对象数据; 查询式变换部,将查询式的使用了数值的条件部分变换为使用了包含在上述字符串集合中的字符串要素的条件部分,来生成变换后查询式; 第二发送部,将上述变换后查询式向上述服务器发送;以及 第一接收部,从上述服务器接收使用了上述变换后查询式的查询处理的结果, 上述服务器具备: 第二接收部,从上述数据处理装置接收上述变换后管理对象数据; 数据保存部,保存上述变换后管理对象数据; 第三接收部,从上述数据处理装置接收上述变换后查询式; 查询处理执行部,使用上述变换后查询式执行对于上述数据保存部的查询处理;以及 第三发送部,向上述数据处理装置发送使用了上述变换后查询式的查询处理的结果。
7.如权利要求6所述的数据管理系统, 上述数据变换部按照事前定义的对照规则将对上述数值数据表示的数值分配的字符串要素变形来生成上述索引值; 还具备与上述服务器可通信地连接的对照解决服务器,该对照解决服务器根据来自上述服务器的请求,使用基于上述对照规则而生成的对照解决程序,进行字符串要素的大小关系的对照处理。
8.一种数据处理方法,在具备存储部的数据处理装置中执行,上述存储部存储字符串集合,该字符串集合是能够唯一地确定大小关系的多个字符串要素的集合,上述数据处理方法包括: 上述数据处理装置的数据变换部将包含在管理对象数据中的数值数据加密,并使用包含在上述字符串集合中的字符串要素生成与上述数值数据对应的索引值,生成包括加密后的上述数值数据和上述索引值的变换后管理对象数据的步骤; 上述数据处理装置的第一发送部向服务器发送上述变换后管理对象数据的步骤;上述数据处理装置的查询式变换部将查询式的使用了数值的条件部分变换为使用了包含在上述字符串集合中的字符串要素的条件部分,生成变换后查询式的步骤; 上述数据处理装置的第二发送部将上述变换后查询式向上述服务器发送的步骤;以及上述数据处理装置的接收部从上述服务器接收使用了上述变换后查询式的查询处理的结果的步骤。
9.一种程序,用来使具备存储部的计算机执行以下功能,上述存储部存储字符串集合,该字符串集合是能够唯一地确定大小关系的多个字符串要素的集合,使计算机执行的功能包括:将包含在管理对象数据中的数值数据加密,并使用包含在上述字符串集合中的字符串要素生成与上述数值数据对应的索引值,生成包括加密后的上述数值数据和上述索引值的变换后管理对象数据的功能; 向服务器发送上述变换后管理对象数据的功能; 将查询式的使用了数值的条件部分变换为使用了包含在上述字符串集合中的字符串要素的条件部分,生成变换后查询式的功能; 将上述变换后查询式向上述服务器发送的功能;以及 从上述服务器 接收使用了上述变换后查询式的查询处理的结果的功能。
【文档编号】G06F17/30GK103827862SQ201280002836
【公开日】2014年5月28日 申请日期:2012年9月20日 优先权日:2012年9月20日
【发明者】金轮拓也 申请人:株式会社东芝, 东芝解决方案株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1