数据读写方法及装置的制造方法_4

文档序号:8258512阅读:来源:国知局
为:列表生成子单元5311获取语法树5314的类信息,并根据语法树5314的列信息生成数据操作请求的查询列表;主键生成子单元5312获取语法树5314的查询条件,并根据语法树5314的查询条件生成数据操作请求的查询主键;转换子单元5313将数据操作请求的查询列表和数据操作请求的查询主键转换为键值对结构的数据操作请求。
[0079]如格式转换单元531转换成功,则使用该操作设备55 (即缓存)进行数据读操作或写操作。如格式转换单元531转换失败,则表示该结构化查询语言编写的数据操作请求无法转换为键值对结构的数据操作请求,这时操作设备确定模块52将该数据操作请求的操作设备55改为数据库,即读写单元532使用数据库进行数据读操作或写操作。
[0080]优选的,读写模块53在进行读操作或写操作时,同步模块56可对不同的操作设备中的数据读操作或写操作的数据进行同步。即读写模块53在数据库中进行增加操作、删除操作或修改操作等读操作或写操作后,如缓存中具有与该读操作或写操作相应的数据,则将数据库中读操作或写操作后的数据同步到缓存中,以方便用户进一步使用缓存进行准确的读操作或写操作。
[0081]这样即完成了本优选实施例的数据读写装置50的数据读写过程。
[0082]本优选实施例的数据读写装置在第一优选实施例的基础上对数据操作请求进行筛选、对数据操作请求进行格式转换以及及时实现缓存与数据库之间的数据同步,进一步优化了数据读操作或写操作的效率。
[0083]请参照图5A、图5B和图6,图6为本发明的数据读写方法的第二优选实施例的流程图。本优选实施例的数据读写方法通过上述的数据读写装置50实施,其包括:
[0084]步骤S601,接收外部应用系统的数据操作请求,并对数据操作请求进行预处理,以获取数据操作请求的操作类型;
[0085]步骤S602,根据数据操作请求的操作类型以及与数据操作请求相应的存储设备,确定数据操作请求的操作设备;
[0086]步骤S603,根据数据操作请求,使用数据操作请求的操作设备进行数据读操作或写操作;
[0087]步骤S604,对不同的操作设备中的数据读操作或写操作的数据进行同步;
[0088]本优选实施例的数据读写方法结束于步骤S604。
[0089]下面详细说明本优选实施例的数据读写方法的各步骤的具体流程。
[0090]在步骤S601中,类型获取模块51接收外部应用系统54的数据操作请求,该数据操作请求使用结构化查询语言(SQL, Structured Query Language)生成,因此该数据操作请求与具体的进行数据读操作或写操作的操作设备55无关(即外部应用系统54以及操作设备55不需要对该数据操作请求进行区分。随后类型获取模块51对该数据操作请求进行预处理,以获取数据操作请求的操作类型,数据操作请求的操作类型包括查询操作、增加操作、删除操作以及修改操作。
[0091]这里的预处理是指对数据操作请求中的结构化查询语言进行解析,从而获知数据操作请求的操作类型。具体为:
[0092]语法树生成单元511对数据操作请求中的结构化查询语言进行解析,以生成相应的语法树。
[0093]删除单元512根据语法树以及结构化查询语言的编写规则,删除不安全的数据操作请求,这里的不安全的数据操作请求是指该数据操作请求的语句中包括错误的内容或可能会给数据读写装置带来性能和数据安全问题的内容。如进行全表删除的结构化查询语言“DELETE*FROM表名”可能会带来数据安全问题,而跨表操作的结构化查询语言“SELETE*FROM表名IAND表名2”可能会影响装置的性能。
[0094]最后类型获取单元513根据语法树以及结构化查询语言的编写规则,获取数据操作请求的操作类型。这里的数据操作请求的操作类型包括查询操作、增加操作、删除操作以及修改操作。具体为:从语法树获取该数据操作请求的请求类型标识,如该请求类型标识为“SELETE”,则说明该数据操作请求的操作类型为查询操作,即该数据操作请求为快速数据请求;否则该数据操作请求的操作类型为增加操作、删除操作或修改操作,即该数据操作请求为慢速数据请求。随后转到步骤S602。
[0095]在步骤S602中,操作设备确定模块52根据数据操作请求的操作类型以及与数据操作请求相应的存储设备,确定数据操作请求的操作设备55。这里的数据操作请求的操作设备55包括一般用于处理慢速数据请求的数据库以及一般用于处理快速数据请求的缓存,数据库包括缓存中的所有数据。因此确定操作设备55时,如数据操作请求的操作类型为查询操作(该操作请求为快速数据请求),且数据操作请求的读操作或写操作数据保存在数据库和缓存中,则操作设备确定模块52确定数据操作请求的操作设备55为缓存。如数据操作请求的操作类型为查询操作,但数据操作请求的读操作或写操作数据仅保存在数据库中,则操作设备确定模块52确定数据操作请求的操作设备55为数据库。如数据操作请求的操作类型为增加、删除或修改操作(该操作请求为慢速数据请求),则无论该数据操作请求的读操作或写操作是否保存在缓存中,操作设备确定模块52确定数据操作请求的操作设备55为数据库。随后转到步骤S603中。
[0096]在步骤S603中,读写模块53根据数据操作请求,使用操作设备确定模块52确定的操作设备55进行数据读操作或写操作,即在相应的数据库或缓存中进行数据读操作或写操作。由于结构化查询语言能直接在数据库中执行,而不能直接在缓存中执行,因此如在缓存中执行数据操作请求,需要格式转换单元531对该数据操作请求进行格式转换。
[0097]具体为:如数据操作请求的操作设备55为缓存,则格式转换单元531将结构化查询语言编写的数据操作请求转换为键值对结构的数据操作请求;如数据操作请求的操作设备55为数据库,则格式转换单元531不对该数据操作请求进行格式转换。
[0098]格式转换单元531的具体转换过程为:列表生成子单元5311获取语法树5314的类信息,并根据语法树5314的列信息生成数据操作请求的查询列表;主键生成子单元5312获取语法树5314的查询条件,并根据语法树5314的查询条件生成数据操作请求的查询主键;转换子单元5313将数据操作请求的查询列表和数据操作请求的查询主键转换为键值对结构的数据操作请求。
[0099]如格式转换单元531转换成功,则使用该操作设备55 (即缓存)进行数据读操作或写操作。如格式转换单元531转换失败,则表示该结构化查询语言编写的数据操作请求无法转换为键值对结构的数据操作请求,这时操作设备确定模块52将该数据操作请求的操作设备55改为数据库,即读写单元532使用数据库进行数据读操作或写操作。随后转到步骤S604。
[0100]在步骤S604中,读写模块53在进行读操作或写操作时,同步模块56可对不同的操作设备中的数据读操作或写操作的数据进行同步。即读写模块53在数据库中进行增加操作、删除操作或修改操作等读操作或写操作后,如缓存中具有与该读操作或写操作相应的数据,则将数据库中读操作或写操作后的数据同步到缓存中,以方便用户进一步使用缓存进行准确的读操作或写操作。
[0101]这样即完成了本优选实施例的数据读写方法的数据读写过程。
[0102]本优选实施例的数据读写方法在第一优选实施例的基础上对数据操作请求进行筛选、对数据操作请求进行格式转换以及及时实现缓存与数据库之间的数据同步,进一步优化了数据读操作或写操作的效率。
[0103]下面通过图7详细说明本发明的数据读写方法及装置的工作原理。图7为本发明的数据读写方法及装置的具体实施例的流程图。
[0104]首先类型获取模块接收外部应用系统71的数据操作请求,类型获取模块的语法树生成单元72对数据操作请求中的结构化查询语言进行解析,以生成相应的语法树;类型获取模块的删除单元73根据语法树删除不安全的数据操作请求;类型获取模块的类型获取单元74获取数据操作请求的操作类型,即确定该数据操作请求的操作类型为快速数据请求(查询操作)或慢速数据请求(增加操作、删除操作以及修改操作)。
[0105]随后操作设备确定模块75根据数据操作请求的操作类型以及与数据操作请求相应的存储设备,确定数据操作请求的操作设备,即确定该数据操作请求的操作设备为缓存或数据库。操作设备确定模块75将相应的数据操作请求分别发送至缓存请求消息队列76以及数据库请求队列77。
[0106]缓存处理模块78从缓存请求队列76接收数据操作请求,并转换为实际的缓存操作,同时确定缓存处理模块78中是否已经存在与缓存710相应位置的连接,如果已经存在该连接,则直接通过该连接在缓存710中进行该数据读操作或写操作;如不存在该连接,则创建连接后在缓存710中进行该数据读操作或写操
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1