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

文档序号:8258512阅读:来源:国知局
流程图。本优选实施例的数据读写方法通过上述的数据读写装置30实施,其包括:
[0056]步骤S401,接收外部应用系统的数据操作请求,并对数据操作请求进行预处理,以获取数据操作请求的操作类型;
[0057]步骤S402,根据数据操作请求的操作类型以及与数据操作请求相应的存储设备,确定数据操作请求的操作设备;
[0058]步骤S403,根据数据操作请求,使用数据操作请求的操作设备进行数据读操作或写操作;
[0059]本优选实施例的数据读写方法结束于步骤S403。
[0060]下面详细说明本优选实施例的数据读写方法的各步骤的具体流程。
[0061]在步骤S401中,类型获取模块31接收外部应用系统34的数据操作请求,该数据操作请求使用结构化查询语言(SQL, Structured Query Language)生成,因此该数据操作请求与具体的进行数据读操作或写操作的操作设备35无关(即外部应用系统34以及操作设备35不需要对该数据操作请求进行区分。随后类型获取模块31对该数据操作请求进行预处理,以获取数据操作请求的操作类型,数据操作请求的操作类型包括查询操作、增加操作、删除操作以及修改操作。这里的预处理是指对数据操作请求中的结构化查询语言进行解析,从而获知数据操作请求的操作类型。随后转到步骤S402。
[0062]在步骤S402中,操作设备确定模块32根据数据操作请求的操作类型以及与数据操作请求相应的存储设备,确定数据操作请求的操作设备35。这里存储设备包括数据操作请求的操作设备35,数据操作请求的操作设备35必须为保存数据操作请求的读操作或写操作数据的操作设备35。这里的数据操作请求的操作设备35包括一般用于处理慢速数据请求的数据库以及一般用于处理快速数据请求的缓存,数据库包括缓存中的所有数据。因此确定操作设备35时,如数据操作请求的操作类型为查询操作(该操作请求为快速数据请求),且数据操作请求的读操作或写操作数据保存在数据库和缓存中,则操作设备确定模块32确定数据操作请求的操作设备35为缓存。如数据操作请求的操作类型为查询操作,但数据操作请求的读操作或写操作数据仅保存在数据库中,则操作设备确定模块32确定数据操作请求的操作设备35为数据库。如数据操作请求的操作类型为增加、删除或修改操作(该操作请求为慢速数据请求),则无论该数据操作请求的读操作或写操作是否保存在缓存中,操作设备确定模块32确定数据操作请求的操作设备35为数据库。随后转到步骤S403。
[0063]在步骤S403中,读写模块33根据数据操作请求,使用操作设备确定模块32确定的操作设备35进行数据读操作或写操作,即在相应的数据库或缓存中进行数据读操作或写操作。
[0064]这样即完成了本优选实施例的数据读写方法的数据读写过程。
[0065]本优选实施例的数据读写方法通过对数据操作请求的操作类型进行自动识别,然后根据识别结果自动确定进行数据读操作或写操作的操作设备,保证了外围应用系统的服务质量。
[0066]请参照图5A和图5B,图5A为本发明的数据读写装置的第二优选实施例的结构示意图,图5B为本发明的数据读写装置的第二优选实施例的格式转换单元的结构示意图。本优选实施例的数据读写装置50可设置在上述的电子设备212中,其包括类型获取模块51、操作设备确定模块52、读写模块53以及同步模块56。类型获取模块51用于接收外部应用系统54的数据操作请求,并对数据操作请求进行预处理,以获取数据操作请求的操作类型;操作设备确定模块52用于根据数据操作请求的操作类型以及与数据操作请求相应的存储设备,确定数据操作请求的操作设备55 ;读写模块53用于根据数据操作请求,使用数据操作请求的操作设备55进行数据读操作或写操作;同步模块56用于对不同的所述操作设备55中的数据读操作或写操作的数据进行同步。
[0067]其中类型获取模块51包括语法树生成单元511、删除单元512以及类型获取单元513。语法树生成单元511用于对数据操作请求中的结构化查询语言进行解析,以生成相应的语法树;删除单元512用于根据语法树以及结构化查询语言的编写规则,删除不安全的数据操作请求;类型获取单元513用于根据语法树以及结构化查询语言的编写规则,获取数据操作请求的操作类型。其中使用结构化查询语言生成数据操作请求,数据操作请求的操作类型包括查询操作、增加操作、删除操作以及修改操作。
[0068]其中读写模块53包括格式转换单元531以及读写单元532。格式转换单元531用于根据数据操作请求的操作设备55,对数据操作请求进行格式转换;读写单元532用于根据格式转换后的数据操作请求,使用数据操作请求的操作设备55进行数据读操作或写操作。
[0069]其中格式转换单元531包括列表生成子单元5311、主键生成子单元5312以及转换子单元5313。列表生成子单元5311用于获取语法树5314的列信息,并根据语法树5314的列信息生成数据操作请求的查询列表;主键生成子单元5312用于获取语法树5314的查询条件,并根据语法树5314的查询条件生成数据操作请求的查询主键;转换子单元5313用于将数据操作请求的查询列表和数据操作请求的查询主键转换为键值对结构的数据操作请求。
[0070]本优选实施例的数据读写装置50使用时,首先类型获取模块51接收外部应用系统54的数据操作请求,该数据操作请求使用结构化查询语言(SQL, Structured QueryLanguage)生成,因此该数据操作请求与具体的进行数据读操作或写操作的操作设备55无关(即外部应用系统54以及操作设备55不需要对该数据操作请求进行区分)。随后类型获取模块51对该数据操作请求进行预处理,以获取数据操作请求的操作类型,数据操作请求的操作类型包括查询操作、增加操作、删除操作以及修改操作。
[0071]这里的预处理是指对数据操作请求中的结构化查询语言进行解析,从而获知数据操作请求的操作类型。具体为:
[0072]语法树生成单元511对数据操作请求中的结构化查询语言进行解析,以生成相应的语法树。
[0073]删除单元512根据语法树以及结构化查询语言的编写规则,删除不安全的数据操作请求,这里的不安全的数据操作请求是指该数据操作请求的语句中包括错误的内容或可能会给数据读写装置带来性能和数据安全问题的内容。如进行全表删除的结构化查询语言“DELETE*FR0M表名”可能会带来数据安全问题,而跨表操作的结构化查询语言“SELETE*FR0M表名IAND表名2”可能会影响装置的性能。
[0074]类型获取单元513根据语法树以及结构化查询语言的编写规则,获取数据操作请求的操作类型。这里的数据操作请求的操作类型包括查询操作、增加操作、删除操作以及修改操作。具体为:从语法树获取该数据操作请求的请求类型标识,如该请求类型标识为“SELETE”,则说明该数据操作请求的操作类型为查询操作,即该数据操作请求为快速数据请求;否则该数据操作请求的操作类型为增加操作、删除操作或修改操作,即该数据操作请求为慢速数据请求。
[0075]在类型获取模块51获取数据操作请求的操作类型后,操作设备确定模块52根据数据操作请求的操作类型以及与数据操作请求相应的存储设备,确定数据操作请求的操作设备55。这里的数据操作请求的操作设备55包括一般用于处理慢速数据请求的数据库以及一般用于处理快速数据请求的缓存,数据库包括缓存中的所有数据。因此确定操作设备55时,如数据操作请求的操作类型为查询操作(该操作请求为快速数据请求),且数据操作请求的读操作或写操作数据保存在数据库和缓存中,则操作设备确定模块52确定数据操作请求的操作设备55为缓存。如数据操作请求的操作类型为查询操作,但数据操作请求的读操作或写操作数据仅保存在数据库中,则操作设备确定模块52确定数据操作请求的操作设备55为数据库。如数据操作请求的操作类型为增加、删除或修改操作(该操作请求为慢速数据请求),则无论该数据操作请求的读操作或写操作是否保存在缓存中,操作设备确定模块52确定数据操作请求的操作设备55为数据库。
[0076]最后读写模块53根据数据操作请求,使用操作设备确定模块52确定的操作设备55进行数据读操作或写操作,即在相应的数据库或缓存中进行数据读操作或写操作。由于结构化查询语言能直接在数据库中执行,而不能直接在缓存中执行,因此如在缓存中执行数据操作请求,需要格式转换单元531对该数据操作请求进行格式转换。
[0077]具体为:如数据操作请求的操作设备55为缓存,则格式转换单元531将结构化查询语言编写的数据操作请求转换为键值对结构的数据操作请求;如数据操作请求的操作设备55为数据库,则格式转换单元531不对该数据操作请求进行格式转换。
[0078]格式转换单元531的具体转换过程
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1