数据处理方法及数据处理系统的制作方法

文档序号:6426961阅读:152来源:国知局
专利名称:数据处理方法及数据处理系统的制作方法
技术领域
本发明涉及数据处理技术,特别涉及一种数据处理方法及数据处理系统。
背景技术
随着科技的进步,用于描述信息的数据量也在不断增加,而且数据涉及的范围越来越广泛,数据之间的关系也变得更为复杂。为了提高数据处理的工作效率,对数据处理技术也提出了更高的要求。目前主要使用的数据处理技术,首先是将数据存入数据记录集合,例如数据库,然后对数据库中的数据进行操作。数据储存在数据库中,可以看成是一条一条包含字段的数据记录。数据记录集合一般储存在数据存储引擎(也简称存储引擎)上,客户端与存储引擎通信,访问其中的数据记录集合。传统的关系数据库要求存入的是事先定义好字段格式的固定字段数据记录,如果需要添加新的字段给记录存储,就要求更改字段定义,这会导致整个数据记录集合停机不可用。一般情况下,大都是多个客户端一起使用数据记录集合,也就是说,数据记录集合需要支持多个客户端共享这一个数据记录集合,同时又必须满足不同客户端在存储数据记录时有自定义字段的要求,而且这个对新增加字段的数据记录的存取应该是对其他客户端透明,不发生影响的。但是如果按传统模式把数据字段的定义存储按一个数据表一个定义的方式管理, 其中一个客户端对自定义字段的添加或修改,就可能导致整个数据记录集合不可用。专利号为ZL02148795. 2的中国专利,公开了一种数据库中对象关系的处理方法, 简化了数据库中对象之间关系的管理流程,减小了数据库维护的工作量。但是如何实现在不影响其他客户端存储数据记录的情况下,允许客户端存储自由模式的字段,且减轻存储引擎与客户端之间的网络传输的开销和客户端的处理负担成为目前设计人员亟待解决的问题之一。

发明内容
本发明解决的问题是提供一种数据处理方法和系统,以支持客户端添加自定义的字段,且该字段对其他客户端透明,还不会造成存储引擎的停机不可用。为解决上述问题,本发明提供了一种数据处理方法,包括从客户端获取数据记录的存储请求,所述数据记录包括多个字段,每个字段包含元数据信息和数据内容,所述元数据信息包括字段名、字段类型和字段长度; 将所述数据记录储存至数据记录集合中。可选的,所述数据记录还包括标记所述数据记录的标识,所述数据处理方法还包括建立所述数据记录的标识索引。可选的,所述数据处理方法还包括
从客户端获取数据记录的访问请求,所述访问请求包括要访问的数据记录的字段名;依据所述数据记录的标识索引从所述数据记录集合中查询所述要访问的数据记录;依据查询到的数据记录的字段名和字段长度查询要访问的数据记录的字段。可选的,依据查询到的数据记录的字段名和字段长度查询要访问的数据记录的字段包括依次比对所述查询到的数据记录的字段的字段名与所述要访问的数据记录的字段名,若不匹配则依据当前比对的字段的字段长度跳转至下一字段,继续比对,直至当前比对的字段的字段名与所述要访问的数据记录的字段名匹配。可选的,所述访问请求为读取请求,所述数据处理方法还包括将查询到的要访问的数据记录的字段的数据内容返回给所述客户端。可选的,所述访问请求为修改请求,所述修改请求还包括新的数据内容,所述数据处理方法还包括依据查询到的要访问的数据记录的字段的字段类型修改该字段的数据内容为新的数据内容。可选的,所述数据内容嵌套多个字段,每个字段包括该字段的元数据信息和数据内容。为解决上述技术问题,本发明还提供了一种数据处理系统,包括客户端,用以发出数据记录的存储请求,所述数据记录包括多个字段,每个字段包含元数据信息和数据内容,所述元数据信息包括字段名、字段类型和字段长度;存储引擎,包括存储单元,所述存储单元用以从所述客户端获取所述数据记录的存储请求,将所述数据记录储存至数据记录集合中。可选的,所述数据记录还包括标记所述数据记录的标识,所述存储引擎还包括索引单元,所述索引单元用以建立所述数据记录的标识索引。可选的,所述存储引擎还包括记录查询单元,用以从客户端获取数据记录的访问请求,所述访问请求包括要访问的数据记录的字段名,并依据所述索引单元建立的数据记录的标识索引从所述数据记录集合中查询所述要访问的数据记录;字段查询单元,用以依据所述记录查询单元查询到的数据记录的字段名和字段长度查询要访问的数据记录的字段。可选的,所述字段查询单元包括比对单元,用以依次比对所述查询到的数据记录的字段的字段名与所述要访问的数据记录的字段名;控制单元,判断所述比对单元的比对结果是否为不匹配,若是则依据当前比对的字段的字段长度跳转至下一字段,并控制比对单元继续比对,直至当前比对的字段的字段名与所述要访问的数据记录的字段名匹配。可选的,所述访问请求为读取请求,所述存储引擎还包括反馈单元,用以将查询到的要访问的数据记录的字段的数据内容返回给所述客户端。可选的,所述访问请求为修改请求,所述修改请求还包括新的数据内容,所述存储引擎还包括修改单元,用以依据查询到的要访问的数据记录的字段的字段类型修改该字段的数据内容为新的数据内容。可选的,所述数据内容嵌套多个字段,每个字段包括该字段的元数据信息和数据内容。与现有技术相比,本技术方案具有以下优点在每个存储的数据记录内存取元数据信息,元数据信息定义了整个数据记录中所含的字段的字段名、字段长度和字段类型,这个是按统一的规范并能被数据存储引擎所理解,避免单纯把数据记录的内容格式交给客户端自己处理所带来的浪费和不必要的开销。每一个数据记录集合中不存在需要统一维护的数据字段格式定义元数据信息,因而也就没有维护或修改某个记录的字段定义元数据信息而需要导致整个数据记录集的用户都停机等待的问题。这一数据记录中存在的元数据信息可以帮助存储引擎按要求快速定位到其中的一个或若干个字段,进行提取或修改其内容的操作。通过让存储的数据中包含元数据信息来支持在存储引擎中不停机地存储格式修改后的数据记录;相应的,存储引擎支持客户端自由定义数据记录的数据结构,即自由对象 (Schema-Flexible)模式,客户端根据需要自定义数据记录中的字段、字段的数据内容以及其元数据信息,并将其发送至存储引擎保存成数据记录。


图1是本发明提供的数据处理方法的流程图;图2是本发明实施例提供的数据处理系统的一种实施方式的结构示意图;图3是本发明实施例提供的数据处理系统的另一种实施方式的结构示意图;图4是本发明实施例提供的数据记录存储的结构示意图;图5是本发明实施例提供的数据记录集合的结构图;图6是本发明实施例提供的数据记录存储的第一种实施方式;图7是本发明实施例提供的数据记录存储的第二种实施方式;图8是本发明实施例提供的数据记录存储的第三种实施方式;图9是本发明实施例提供的数据记录存储的第四种实施方式;图10是图8所示数据记录修改后的数据记录。
具体实施例方式为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合目前数据处理工作的现状及本发明的具体实施方式
做详细的说明。数据作为一种信息形式,广泛的存在于自然界和人类社会中。伴随着计算机技术的出现,凭借其优异的数据处理性能,被广泛的应用在各领域的数据处理业务中。传统的关系数据库要求存入的是事先定义好字段格式的固定字段的数据记录,如果需要添加新的字段给数据记录存储,就要求更改字段定义,这将导致整个数据记录集合停机不可用。由于多个客户端使用同一个数据记录的集合,这不仅需要满足不同客户端在存储数据记录时有自定义字段的要求,而且这个对新增加字段的数据记录的存取对客户端是透明,不发生影响的。另外,客户端需要查询数据记录中的字段时,由于数据记录的解析工作需要客户端完成,因此存储引擎需要将整条数据记录传送至客户端,这在无形之中增加了网络传输的开销和客户端的处理负担。若客户端需要更新字段时,需要对整条数据记录进行更新,这不仅耗费时间还耗费客户端的资源,导致大量不必要的开销。发明人发现如果不提供一个标准的存储引擎内描述字段数据格式的元数据信息给数据存储引擎,而把对整个数据记录的内容解析的操作交给每个客户端自己去解决,将会导致以下问题a)大部分情况下,某个客户端其实仅需要存取一个完整数据记录中的一个字段或几个字段的信息,但是若把数据格式的解析工作交给客户端,则势必每次都传输一个完整的数据记录给客户端应用,这会造成很大量不必要的网络开销和处理负担;b)当某个客户端仅需要更新一个数据记录中的某个字段时,因为只有客户端才能理解数据格式,就势必要把整个数据记录进行更新,这会导致大量的不必要操作的开销。图1是本发明提供的数据处理方法的流程图,所述数据处理方法包括S101,从客户端获取数据记录的存储请求;S102,将所述数据记录储存至数据记录集合中。所述数据记录包括多个字段,每个字段包含元数据信息和数据内容,所述元数据信息包括字段名、字段类型和字段长度。所述元数据信息也称为自描述信息,用以描述每个字段的字段名、字段类型和字段长度,且一个字段具有一个元数据信息。所述数据记录也可以只包含一个字段,该字段包含数据内容及元数据信息。所述数据内容中还可以嵌套字段,数据内容可以是简单的数值、文本还可以是复杂的字段。数据内容中嵌套的字段,也是具有数据内容和元数据信息的。另外,数据内容中嵌套的字段的数据内容还可以再嵌套字段,也就是说,数据内容也是多层的嵌套结构。数据内容中嵌套的字段的数目可以是一个也可以是多个,嵌套的层数可以是多层,也可以是单层。在实际设计中,数据内容中嵌套的还可以是其他结构。所述数据记录还包括标记所述数据记录的标识,所述数据处理方法还包括建立所述数据记录的标识索引。所述标识为全局唯一的,用以区分数据记录属于哪个客户端。建立所述标识索引,所述数据记录按照所述表示索引存储,方便查询。所述数据处理方法,还包括从客户端获取数据记录的访问请求,所述访问请求包括要访问的数据记录的字段名;依据所述数据记录的标识索引从所述数据记录集合中查询所述要访问的数据记录;依据查询到的数据记录的字段名和字段长度查询要访问的数据记录的字段,所述数据记录中的字段具有元数据信息,依据查询到的数据记录的字段名和字段长度查询要访问的数据记录的字段包括依次比对所述查询到的数据记录的字段的字段名与所述要访问的数据记录的字段名,若不匹配则依据当前比对的字段的字段长度跳转至下一字段,继续比对,直至当前比对的字段的字段名与所述要访问的数据记录的字段名匹配。
一般访问请求包括读取请求和修改请求,若所述访问请求为读取请求,则所述数据处理方法还包括将查询到的要访问的数据记录的字段的数据内容返回给所述客户端。若所述访问请求为修改请求,则所述修改请求还包括新的数据内容,所述数据处理方法还包括依据查询到的要访问的数据记录的字段的字段类型修改该字段的数据内容为新的数据内容。由于修改后的字段的数据内容可能改变了字段的长度或者字段名等,因此该字段的元数据信息也会发生修改,例如修改字段长度或者字段名等。图2是本发明实施例提供的数据处理系统的一种实施方式的结构示意图,所述数据处理系统包括客户端200,用以发出数据记录的存储请求,所述数据记录包括多个字段,每个字段包含元数据信息和数据内容,所述元数据信息包括字段名、字段类型和字段长度;存储引擎100,包括存储单元101,存储单元101用以从客户端200获取所述数据记录的存储请求,将所述数据记录储存至数据记录集合中。通常所述数据记录还包括标记所述数据记录的标识,存储引擎100还包括索引单元102,索引单元102用以建立所述数据记录的标识索引。存储引擎100,还包括记录查询单元103,用以从客户端200获取数据记录的访问请求,所述访问请求包括要访问的数据记录的字段名,并依据索引单元102建立的数据记录的标识索引从所述数据记录集合中查询所述要访问的数据记录;字段查询单元104,用以依据所述记录查询单元查询到的数据记录的字段名和字段长度查询要访问的数据记录的字段。其中字段查询单元可以包括比对单元,用以依次比对所述查询到的数据记录的字段的字段名与所述要访问的数据记录的字段名;控制单元,判断所述比对单元的比对结果是否为不匹配,若是则依据当前比对的字段的字段长度跳转至下一字段,并控制比对单元继续比对,直至当前比对的字段的字段名与所述要访问的数据记录的字段名匹配。存储引擎100还包括反馈单元,若所述访问请求为读取请求,所述反馈单元用以将查询到的要访问的数据记录的字段的数据内容返回给所述客户端。存储引擎100还包括修改单元,若所述访问请求为修改请求,所述修改请求还包括新的数据内容,所述修改单元用以依据查询到的要访问的数据记录的字段的字段类型修改该字段的数据内容为新的数据内容。图3是本发明实施例提供的数据处理系统的另一种实施方式的结构示意图,所述数据处理系统包括多个客户端,客户端201,客户端202,客户端203和客户端204,这些客户端共享存储引擎100中的数据记录集合。图4是本发明实施例提供的数据记录存储的结构示意图,其中字段名11、类型 (字段类型)22、长度(字段长度)33组成了元数据信息,且一个字段具有一个元数据信息。 Value44表示该字段的数据内容,字段的数据内容可以包含字段,也就是说,字段的数据内容不限于简单的数值,还可以是嵌套形式的字段包含字段,且数据内容中包含的字段也具有元数据信息。
8
客户端在请求保存数据记录时,提供了待存储的数据记录,所述数据记录包括字段、字段的数据内容及每个字段的元数据信息。客户端在发送所述请求时,所述数据记录可以按照图4所示的结构携带在所述请求中,存储引擎接收到所述请求后,可以根据客户端的请求,按照图4所示的结构保存数据记录。下面以一个学校的学生信息和课程信息为例,详细说明本发明提供的技术方案。图5是本发明实施例提供的数据记录集合的结构图,存储引擎中需要保存学生信息和课程信息,其中学生信息中包括姓名、地址、课程成绩的信息,地址信息中还包括街道、 城市、州、邮编的信息。存储引擎只需要保存2个数据记录集合学生信息数据记录集合1和课程信息数据记录集合2,其中课程信息数据记录集合2可以是关系数据库。对于学生信息数据记录集合(1)每条数据记录包含3个字段,分别是name、AddreSS、SCOre,每个字段携带自描述信息(也称为元数据信息,包括字段名称、类型和长度);(2) Address 字段中嵌套 4 个字段address、city、state、postalCode,每个字段携带自描述信息;Address字段的数据模式自由,可以增加字段;(3) score字段中嵌套2个字段一个是指向课程记录的指针字段(一般就是课程信息的键值Key,以及表示指向课程记录的指针,用以从课程数据库中获取课程信息的键值 key),另一个是这个学生此门课的成绩字段;score字段的数据模式自由,即一个学生可以有多门课程的成绩,每门课程包含2个字段(课程指针字段和课程成绩字段,每个字段携带自描述信息)。对于课程信息数据记录集合每条数据记录包含课程的name (—般为课程信息的键值key)及其对应的数据内容。存储引擎与三个客户端具有连接关系,下面是每个客户端的应用举例图6是本发明实施例提供的数据记录存储的第一种实施方式,下面结合图6详细说明客户端1发出保存数据记录的请求给存储引擎,所述请求包括客户端1的标识 (ID)、学生信息的字段以及学生课程信息的字段,每个字段都携带自描述信息(也称为元数据信息),其包含了该字段的字段名、类型和长度,并且注明了客户端1的客户端标识为 userI0存储引擎获取客户端1的数据保存请求后(1)建立标示索引,将客户端1的标识加入到所述标示索引中。数据记录在存储引擎中存储会有一个存储位置,所述标识索引记录了这个存储位置与标识之间的映射关系, 通过所述标识索引可以很快找到数据记录存储的位置,加快数据处理的速度。所述标识索引可以是常见的哈希表;标识索引一般在第一次存储数据记录时建立,后续再存储数据记录时,仅需要将标识及其对应的存储位置直接加入到所述标示索引中。(2)写入name字段,类型为String,长度为4,value (数据内容)为Jane ;(3)写入Address字段,类型为Mring,由于Address字段中嵌套了字段,Address字段的长度为其嵌套的字段长度总和,在写Address字段的value时,写入嵌套的4个字段address、city、state、postalCode ;这 4 个字段的写入方式如 O);(4)写入score字段,score的写入方式如(2)所示,内嵌在score中的字段也如 (2)所示写入。上述(1)-(4)步骤根据实际情况可以做顺序上的调整。图7是本发明实施例提供的数据记录存储的第二种实施方式,下面结合图7详细说明客户端2发出保存数据记录的请求只存储引擎,数据记录包括各客户端2的标识 (ID)字段、学生信息的字段以及学生课程信息的字段,每个字段都携带自描述信息(也称为元数据信息),其包含了该字段的字段名、类型和长度,并且注明了客户端2的客户端标识。但是客户端2只需要保存address字段中的city字段,其余的字段不需要保存。存储引擎获取客户端2的数据保存请求后(1)将客户端2的标识userf及其对应的存储位置加入到标示索引中;(2)写入name字段,类型为String,长度为4,value (数据内容)% Jack ;(3)写入Address字段,类型为String,由于Address字段中嵌套了字段city, Address字段的长度为字段city的长度,在写Address字段的value时,写入嵌套的1个字段city ;写入方式如(2);(4)写入score字段,score的写入方式如(2)所示,内嵌在score中的字段也如 (2)所示写入。上述(1)- )步骤根据实际情况可以做顺序上的调整。图8是本发明实施例提供的数据记录存储的第三种实施方式,下面结合图8详细说明客户端3发出保存数据记录的请求只存储引擎,数据记录包括各客户端3的标识 (ID)字段、学生信息的字段以及学生课程信息的字段,每个字段都携带自描述信息(也称为元数据信息),其包含了该字段的字段名、类型和长度,并且注明了客户端3的客户端标识。但是客户端3还保存了自定义的字段province。(1)将客户端3的标识userf及其对应的存储位置加入到标示索引中;(2)写入name字段,类型为String,长度为4,value (数据内容)% Tomy ;(3)写入Address字段,类型为String,由于Address字段中嵌套了除了嵌套共享字段外,还嵌套了私有字段,在写Address字段的value时,写入嵌套的4个共享字段 address、city、state、postalCode 禾口 1 个禾A有字段 province ;写入方式如(2);(4)写入score字段,score的写入方式如(2)所示,内嵌在score中的字段也如 (2)所示写入,由于私有字段province (假定长度为3)的加入,Address字段后的字段整体向后迁移3个长度空间,即score字段的存储位置向后迁移了 3个长度空间。上述(1)-(4)步骤根据实际情况可以做顺序上的调整。每个客户端在存储数据记录时,可以根据自己的需要自由的定义存储的字段的类型、长度和数据内容。每个客户端的数据记录的字段的长度和数据内容可以是相同的,也可以是不同的。由于Address字段的数据模式自由(字段长度任意),可以在Address字段中增加自定义字段(如存储客户端3的数据记录),也可以在Address字段中仅使用部分嵌套字段 (如存储客户端2的数据记录),因此支持不定长(格式修改后)的数据记录存储。这样通过让存储的数据中包含自描述信息(元数据信息)来支持在存储引擎中不停机地存储格式修改后的数据记录。由于支持不定长的数据记录存储,并且学生信息数据记录集合的每条数据记录的字段都携带自描述信息(元数据信息),而不是整个学生信息数据记录集合只有一个描述信息,因此在客户端3存储数据记录时,避免了因为要对整个学生信息数据记录集合的描述信息进行修改(会影响以前存储的数据记录)而导致共享学生数据库的客户端1和客户端2的停机等待,客户端1和客户端2仍可对其数据记录进行操作。传统的关系数据库要求存入的是事先定义好字段格式的固定字段数据记录,如果需要添加新的字段给记录存储,就要求更改字段定义,这会导致整个数据记录集合停机不可用,本发明技术方案通过一种不把数据记录字段定义元数据描述信息按一个数据集合一个描述的方式存储,而是在每个存储的数据记录内存取一定的自描述的数据记录字段元数据,每一个数据集中不存在需要统一维护的数据字段格式定义元数据,因而也就没有维护或修改某个记录的字段定义元数据而需要导致整个数据记录集的用户都停机等待的问题。相对客户端1和客户端2,pr0VinCe这个字段是没意义的,客户端1和客户端2不知道这个字段的存在,同时客户端1和客户端2的数据记录中也没有这个province字段, province这个字段对客户端1和客户端2来讲是透明的,它的存在不会对客户端1和客户端2造成影响。这满足不同客户端在存储数据记录时有自定义字段的要求,而且这个对新增加字段的数据记录的存取应该是对其他客户端是透明,相互之间不发生影响。图9是本发明实施例提供的数据记录存储的第四种实施方式,下面结合图9详细说明目前需要增加客户端4,也就是说,客户端的数目从原来的三个增加至四个,客户端4保存数据记录的方式与其他客户端的保存方式一致,但是score字段下面包含两组课程成绩,在课程成绩字段中,具有两组课程成绩。由于score字段的数据模式自由,因此可以在score字段中增加一组指针字段 (for_course)和成绩字段(grade),即支持不定长的数据记录存储;由于支持不定长的数据记录存储,并且学生信息数据记录集合的每条数据记录的字段都携带自描述信息(元数据信息),而不是整个学生信息数据记录集合只有一个描述信息,因此在客户端4存储数据记录时,避免了要对整个学生信息数据记录集合的描述信息进行修改,不会影响其他客户端的使用。若修改则会会影响以前存储的数据记录,从而导致共享的学生信息数据记录集合的其他客户端的停机等待,其他客户端仍可对其数据记录不可用。若客户端发出查询或修改请求,例如客户端3需要查询或修改数据时,例如“查询学生信息数据记录集合中name字段的数据内容为Tomy的数据记录(以下简称为数据记录Tomy)的score字段”的请求。存储引擎获取该请求后,根据标识ID-userf,在索引单元建立的标识索引中查询该标识,并得到userf对应的数据记录的存储位置,这样记录查询单元可以很方便的找到要访问的数据记录;字段查询单元根据请求中携带的要访问的字段名,开始查找该数据记录。具体的,比对单元依次比对所述查询到的数据记录的字段的字段名与所述要访问的数据记录的字段名;控制单元判断name字段名不为score,则按照数据记录中的name的字段长度跳到后一字段,继续比对,直到查找属于客户端3字段名为score的字段;找到score字段后,score字段为客户端3要查询的内容(与客户端3的请求内容匹配),反馈单元取出score字段的数据内容反馈给客户端3。若为修改score字段的数据内容,如将Biology的grade修改为4. 5,则修改单元修改将Biology的grade有4. 0改为4. 5。图10是图8所示数据记录修改后的数据记录。客户端标识可以快速确定要访问的数据记录,每个字段的元数据信息(字段名和字段长度)可以帮助存储引擎快速查找到客户端需要查询的字段位置。也就是说,数据记录中存在的自描述信息(元数据信息)可以帮助存储引擎按要求快速定位到其中的一个或若干个字段,进行查询或修改的操作。每个客户端知道自己需要的字段是什么,怎么保存的,在进行数据处理(例如查询数据记录)时,只需向存储引擎发送需查询的字段,从而减轻了存储引擎的处理负担;存储引擎只需将客户端需要的数据记录的字段反馈给客户端,而不需传输一条完整的数据记录,这样减少了不必要的网络开销;客户端可以直接获取需要的数据内容,而不需要对一整条数据进行解析获取需要的数据内容,这样减小了客户端的处理负担。也就是说,每个字段都具有自描述的信息,记录了该字段的名字、字段的长度和字段的基本数据类型,这个是按统一的规范并能被数据存储引擎所理解,避免单纯把数据记录的内容格式交给应用自己处理所带来的浪费和不必要的开销。本发明的技术方案通过一种不把数据记录字段定义元数据描述信息按一个数据集合一个描述的方式存储,而是在每个存储的数据记录内存取一定的自描述的数据记录字段元数据来达到如下的目标a)自描述的信息定义了整个数据记录中所含记录字段的名字、字段的长度和字段的基本数据类型,这个是按统一的规范并能被数据存储引擎所理解,避免单纯把数据记录的内容格式交给应用自己处理所带来的浪费和不必要的开销b)每一个数据集中不存在需要统一维护的数据字段格式定义元数据,因而也就没有维护或修改某个记录的字段定义元数据而需要导致整个数据记录集的用户都停机等待的问题;c)这一数据记录中存在的元数据信息可以帮助存储引擎按要求快速定位到其中的一个或若干个字段,进行提取或修改其内容的操作。通过让存储的数据中包含自描述信息来支持在存储引擎中不停机地存储格式修改后的数据记录;相应的,存储引擎支持客户端自由定义数据记录的数据结构,即自由对象 (Schema-Flexible)模式,客户端根据需要自定义数据记录中的字段、字段的数据内容以其元数据信息,并将其发送至存储引擎保存成数据记录。本技术方案中数据处理方法和处理系统支持客户端在同一个数据集内存储字段结构灵活可变的数据记录,且不用修改集中的表结构定义,从而不会造成存储引擎在接收
12到新增字段的数据记录时整个数据集的停机不可用。同时客户端在访问数据记录时,可以单独请求数据记录中某个或多个指定字段的数值,而不必因缺乏统一数据结构而记录字段又可变被迫将整个数据读取并传输给客户端,存储引擎可以根据客户端请求的字段名,并利用数据记录中所含的这部分元数据信息而获取记录中某个或多个字段中的信息直接返回给客户端。 本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
权利要求
1.一种数据处理方法,其特征在于,包括从客户端获取数据记录的存储请求,所述数据记录包括多个字段,每个字段包含元数据信息和数据内容,所述元数据信息包括字段名、字段类型和字段长度;将所述数据记录储存至数据记录集合中。
2.如权利要求1所述的数据处理方法,其特征在于,所述数据记录还包括标记所述数据记录的标识,所述数据处理方法还包括建立所述数据记录的标识索引。
3.如权利要求2所述的数据处理方法,其特征在于,还包括从客户端获取数据记录的访问请求,所述访问请求包括要访问的数据记录的字段名;依据所述数据记录的标识索引从所述数据记录集合中查询所述要访问的数据记录;依据查询到的数据记录的字段名和字段长度查询要访问的数据记录的字段。
4.如权利要求3所述的数据处理方法,其特征在于,依据查询到的数据记录的字段名和字段长度查询要访问的数据记录的字段包括依次比对所述查询到的数据记录的字段的字段名与所述要访问的数据记录的字段名, 若不匹配则依据当前比对的字段的字段长度跳转至下一字段,继续比对,直至当前比对的字段的字段名与所述要访问的数据记录的字段名匹配。
5.如权利要求3所述的数据处理方法,其特征在于,所述访问请求为读取请求,所述数据处理方法还包括将查询到的要访问的数据记录的字段的数据内容返回给所述客户端。
6.如权利要求3所述的数据处理方法,其特征在于,所述访问请求为修改请求,所述修改请求还包括新的数据内容,所述数据处理方法还包括依据查询到的要访问的数据记录的字段的字段类型修改该字段的数据内容为新的数据内容。
7.如权利要求1-6任一项所述的数据处理方法,其特征在于,所述数据内容嵌套多个字段,每个字段包括该字段的元数据信息和数据内容。
8.一种数据处理系统,其特征在于,包括客户端,用以发出数据记录的存储请求,所述数据记录包括多个字段,每个字段包含元数据信息和数据内容,所述元数据信息包括字段名、字段类型和字段长度;存储引擎,包括存储单元,所述存储单元用以从所述客户端获取所述数据记录的存储请求,将所述数据记录储存至数据记录集合中。
9.如权利要求8所述的数据处理系统,其特征在于,所述数据记录还包括标记所述数据记录的标识,所述存储引擎还包括索引单元,所述索引单元用以建立所述数据记录的标识索引。
10.如权利要求9所述的数据处理系统,其特征在于,所述存储引擎还包括记录查询单元,用以从客户端获取数据记录的访问请求,所述访问请求包括要访问的数据记录的字段名,并依据所述索引单元建立的数据记录的标识索引从所述数据记录集合中查询所述要访问的数据记录;字段查询单元,用以依据所述记录查询单元查询到的数据记录的字段名和字段长度查询要访问的数据记录的字段。
11.如权利要求10所述的数据处理系统,其特征在于,所述字段查询单元包括比对单元,用以依次比对所述查询到的数据记录的字段的字段名与所述要访问的数据记录的字段名;控制单元,判断所述比对单元的比对结果是否为不匹配,若是则依据当前比对的字段的字段长度跳转至下一字段,并控制比对单元继续比对,直至当前比对的字段的字段名与所述要访问的数据记录的字段名匹配。
12.如权利要求10所述的数据处理系统,其特征在于,所述访问请求为读取请求,所述存储引擎还包括反馈单元,用以将查询到的要访问的数据记录的字段的数据内容返回给所述客户端。
13.如权利要求10所述的数据处理系统,其特征在于,所述访问请求为修改请求,所述修改请求还包括新的数据内容,所述存储引擎还包括修改单元,用以依据查询到的要访问的数据记录的字段的字段类型修改该字段的数据内容为新的数据内容。
14.如权利要求8-13任一项所述的数据处理系统,其特征在于,所述数据内容嵌套多个字段,每个字段包括该字段的元数据信息和数据内容。
全文摘要
一种数据处理方法,包括从客户端获取数据记录的存储请求,所述数据记录包括多个字段,每个字段包含元数据信息和数据内容,所述元数据信息包括字段名、字段类型和字段长度;将所述数据记录储存至数据记录集合中。一种数据处理系统,包括客户端,用以发出数据记录的存储请求,所述数据记录包括具有元数据信息和数据内容的字段;存储引擎,包括存储单元,所述存储单元用以从所述客户端获取所述数据记录的存储请求,将所述数据记录储存至数据记录集合中。本发明的技术方案支持客户端在同一个数据集内存储字段结构灵活可变的数据记录,且不用修改集中的表结构定义,从而不会造成存储引擎在接收到新增字段的数据记录时整个数据集的停机不可用。
文档编号G06F17/30GK102253980SQ20111017246
公开日2011年11月23日 申请日期2011年6月23日 优先权日2011年6月23日
发明者虞钢 申请人:上海西本网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1