发明内容
本申请实施例提供了一种异构数据源的通用处理框架构建方法、处理方法及装置,以解决现有技术中存在的问题。
第一方面,本申请实施例提供了一种异构数据源的通用处理框架构建方法,所述通用处理框架包含统一操作接口、通用抽象类和特有抽象类,所述方法包括:
根据数据源可用的操作类型,构建所述统一操作接口;所述操作类型包括数据操作和非数据操作;所述数据操作包括增加数据、删除数据、修改数据和查询数据中的至少一个;所述非数据操作包括对数据源的数据结构的解析;
根据数据源可用的非数据操作,生成通用抽象类,所述通用抽象类用于解析数据源的实体类;
根据每个类别的数据源的数据操作,生成每一类数据源的特有抽象类,所述特有抽象类用于对指定类别的数据源执行特有的数据操作。
结合第一方面,在第一方面的一种可选择的方式中,所述通用处理框架还包括实体类框架和与所述实体类框架关联的第一数据访问对象,所述方法还包括:
根据数据源可用的非数据操作,构建所述实体类框架;所述实体类框架用于连接数据源;
继承每个预设类别数据源的所述特有抽象类,构建匹配每一类数据源的所述第一数据访问对象;每个所述第一数据访问对象与所述实体类框架关联,所述第一数据访问对象用于获取操作命令,并根据所述操作命令调用所述统一操作接口执行数据操作。
第二方面,本申请实施例提供了一种异构数据源的处理方法,应用于本申请实施例构建的通用处理框架,所述方法包括:
对每一类待处理数据源构建实体类,并对所述实体类添加注解;所述注解标识了所述实体类与待处理数据源的对应关系,以及所述实体类的主键与所述待处理数据源的主键的对应关系;
继承每一类待处理数据源的特有抽象类,构建匹配每一类待处理数据源的第二数据访问对象;每个所述第二数据访问对象关联对应数据源类别的所述实体类;
通过所述第二数据访问对象调用所述通用处理框架的统一操作接口操作待处理数据源。
第三方面,本申请实施例提供了另一种异构数据源的处理方法,应用于本申请实施例构建的通用处理框架,所述方法包括:
获取待处理数据源的连接信息;所述连接信息包括数据源的驱动信息、数据源地址、数据源的用户名和数据源的密码中的一个或多个;
根据所述连接信息,连接所述实体类框架与待处理数据源;
获取与待处理数据源对应的第一数据访问对象;
通过所述第一数据访问对象调用所述通用处理框架的统一操作接口操作待处理数据源。
第四方面,本申请实施例提供了一种异构数据源的通用处理框架构建装置,所述装置包括:
统一操作接口构建单元,用于根据数据源可用的操作类型,构建所述统一操作接口;所述操作类型包括数据操作和非数据操作;所述数据操作包括增加数据、删除数据、修改数据和查询数据中的至少一个;所述非数据操作包括对数据源的数据结构的解析;
通用抽象类生成单元,用于根据数据源可用的非数据操作,生成通用抽象类,所述通用抽象类用于解析数据源的实体类;
特有抽象类生成单元,用于根据每个类别的数据源的数据操作,生成每一类数据源的特有抽象类,所述特有抽象类用于对指定类别的数据源执行特有的数据操作。
结合第四方面,在第四方面的一种可选择的实施方式中,所述装置还包括:
实体类框架构建单元,用于根据数据源可用的非数据操作,构建所述实体类框架;所述实体类框架用于连接数据源;
第一数据访问对象构建单元,用于继承每个预设类别数据源的所述特有抽象类,构建匹配每一类数据源的所述第一数据访问对象;每个所述第一数据访问对象与所述实体类框架关联,所述第一数据访问对象用于获取操作命令,并根据所述操作命令调用所述统一操作接口执行数据操作。
第五方面,本申请实施例提供了一种异构数据源的处理装置,应用于本申请实施例构建的通用处理框架,所述装置包括:
实体类构建单元,用于对每一类待处理数据源构建实体类,并对所述实体类添加注解;所述注解标识了所述实体类与待处理数据源的对应关系,以及所述实体类的主键与所述待处理数据源的主键的对应关系;
第二数据访问对象构建单元,用于继承每一类待处理数据源的特有抽象类,构建匹配每一类待处理数据源的第二数据访问对象;每个所述第二数据访问对象关联对应数据源类别的所述实体类;
第一操作单元,用于通过所述第二数据访问对象调用所述通用处理框架的统一操作接口操作待处理数据源。
第六方面,本申请实施例提供了另一种异构数据源的处理装置,应用于本申请实施例构建的通用处理框架,所述装置包括:
获取单元,用于获取待处理数据源的连接信息;所述连接信息包括数据源的驱动信息、数据源地址、数据源的用户名和数据源的密码中的一个或多个;
连接单元,用于根据所述连接信息,连接所述实体类框架与待处理数据源;
第二数据访问对象构建单元,用于获取与待处理数据源对应的第一数据访问对象;
第二操作单元,用于通过所述第一数据访问对象调用所述通用处理框架的统一操作接口操作待处理数据源。
由以上技术方案可知,本申请实施例提供的数据源通用处理框架构建方法、数据源处理方法及装置,能够构建出包含统一操作接口、通用抽象类和特有抽象类的通用处理框架;其中,统一操作接口对各个类型的数据源的操作接口进行了统一和分类;通用抽象类和特有抽象类将数据源共有的数据操作和特有的数据操作进行的分层次的封装处理,方便用户根据实际需求添加或删除通用处理框架构支持的数据源的类型。应用本申请实施例构建的通用处理框架,只需调用统一操作接口,就可以通过通用处理框架中的通用抽象类和特有抽象类完成对各类数据源的数据操作,从而,不需要对每一种数据库都建立接口连接,减少数据源系统资源的连接数,简化了数据源的操作逻辑,降低数据源系统资源的占用,提高数据源系统运行速度和效率。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本申请实施例提供了一种异构数据源的通用处理框架构建方法、处理方法及装置,以解决现有技术中的异构数据源处理方法的通用性差、效率低下的问题。
实施例一
本申请实施例提供了一种数据源通用处理框架构建方法,图1为本申请实施例创建的一种数据源通用处理框架的结构示意图,如图1所示,本申请实施例创建的数据源通用处理框架包含统一操作接口,通用抽象类和特有抽象类。
图2为本申请实施例提供的一种数据源通用处理框架构建方法的流程图,如图2所示,基于图1示出的通用处理框架的结构,本申请实施例提供的一种数据源通用处理框架构建方法包含以下步骤:
步骤S110,根据数据源可用的操作类型,构建所述统一操作接口;所述操作类型包括数据操作和非数据操作;所述数据操作包括增加数据、删除数据、修改数据和查询数据中的至少一个;所述非数据操作包括对数据源的数据结构的解析。
本申请中,为了实现对多个类型的异构数据源的统一操作,根据数据源可用的操作类型,构建了统一操作接口,将数据源可用的操作类型定义到统一操作接口中;从而,在对多个类型的数据源进行数据操作或非数据操作时,均通过本申请实施例构建的统一操作接口进行,从而不需要对每一种数据库都建立接口连接,减少数据源系统资源的连接数,降低数据源系统资源的占用,提高数据源系统运行速度和效率。
此外,当用户根据实际需求需要扩展新的操作类型时,仅需为统一操作接口定义新的操作类型即可,而不再需要单独对每个数据源都扩展新的操作类型,因此,本申请的统一操作接口能够灵活地应对各种数据操作需求,提高数据源系统数据操作的执行效率。
图3为本申请实施例提供的统一操作接口的数据操作的树状结构图,如图3所示,本申请根据数据源可用的操作类型,可为统一操作接口定义增加、删除、修改、查询等数据操作子接口,每种数据操作子接口中定义多种数据操作,具体为:
(1)增加;
包括:①增加单条记录;②增加多条记录;等等。
(2)删除;
包括:①根据主键删除单条记录;②根据主键删除多条记录;等等。
(3)修改;
包括:①根据主键修改单条记录;②根据主键修改多条记录;等等。
(4-1)查询记录;
包括:①根据主键查询单条记录;②根据主键查询多条记录;③根据主键范围查询多条记录;④根据查询条件查询多条记录;⑤根据查询条件和分页条件查询多条记录;⑥查询全部记录;⑦根据分页条件查询全部记录;等等。
(4-2)查询记录数;
包括:①根据查询条件查询记录数;②查询全部记录数;等等。
通过在统一操作接口中定义以上的数据操作子接口,当用户需要对多个类型的数据库执行增加、删除、修改和查询等一个或多个操作时,仅需调用统一操作接口中定义的对应数据操作子接口即可,不再需要对每个数据源进行单独的调用操作,从而简化了对多个不同类型的异构数据源进行数据操作时的操作逻辑;此外,用户也不再需要去特意掌握每个数据源的操作细节,使异构数据源操作的可执行性大大提高。
本申请中,对数据源执行统一操作接口中定义的操作类型,需要通过操作函数来实现,在本申请构建的通用抽象类和特有抽象类中就封装了用于实现上述操作类型的操作函数;与通用抽象类和特有抽象类相适应地,为了能够通过统一操作接口调用到通用抽象类和特有抽象类中的操作函数,统一操作接口定义了每种操作的操作函数名称,以实现通过操作函数名称调用通用抽象类和特有抽象类中指定的操作函数。
此外,需要补充说明的是,本申请的统一操作接口还可以设置:查询原生操作对象子接口;当用户需要绕过本申请实施例提供的通用处理框架而直接操作数据源时,通过查询原生操作对象子接口可以得到数据源的原生操作对象,从而使用户能够通过原生操作对象直接操作数据源。
步骤S120,根据数据源可用的非数据操作,生成通用抽象类,所述通用抽象类用于解析数据源的实体类。
本申请中的实体类,是计算机开发程序中定义的一种数据容器,能够将数据源中的数据对象(例如:数据源的字段、成员变量)等信息封装到一个数据容器中,例如,将数据源封装成Java Bean(一种Java环境下的实体类),使用户可通过操作实体类对数据源进行操作,从而不再需要掌握每个数据源的操作接口和操作语句,便于对数据源进行序列化和反序列化操作,提高数据源操作的效率。
在面向对象的概念中,常通过类来描述对象,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类是对一系列表面上存在差异但本质上相同的具体概念的抽象,通过对具体概念的抽象,构造出一个固定的一组行为的抽象描述。抽象类不能实例化对象,但可以包含成员变量、成员方法和构造方法的访问方式等。
本申请中,将不同类别数据源非数据操作进行抽象描述,生成通用抽象类。在多个不同类型的数据源的非数据操作中,非数据操作主要包括对数据源的数据结构的解析。
在本申请中,为了变了便于数据源连接的重用,避免频繁创建和释放连接造成大量的系统资源的消耗,同时便于实现数据操作中产生的序列化和反序列化的过程,可将数据源中的对象以公用和规范的方式封装成实体类,通过操作实体类的方式,操作数据源。对此,本申请中,通用抽象类通过解析数据源的实体类实现对数据源数据结构的解析过程。
本申请在通用抽象类时,将实体类与数据源表的对应关系、实体类主键与数据源主键的对应关系、实体类各个成员变量与数据源各个字段的对应关系、以及实体类各个成员变量类型与数据源各个成员变量类型的对应关系作为通用抽象类的成员变量存储在通用抽象类中,并指定了用于操作实体类的操作函数,从而,通过操作实体类就可以对数据源执行序列化和反序列化的操作。
步骤S130,根据每个类别的数据源的数据操作,生成每一类数据源的特有抽象类,所述特有抽象类用于对指定类别的数据源执行特有的数据操作。
本申请中,每个类别的数据源对应设置有一个特有抽象类,并且,特有抽象类继承自通用抽象类,实现从通用抽象类到特有抽象类的层次结构。本申请在通用处理框架中形成的通用抽象类和特有抽象类的层次结构,便于扩展通用处理框架支持的数据源的类别,例如:当需要通用处理框架能够支持对五类数据源进行操作时,可设置一个通用抽象类和五个特有抽象类,如果需要使通用处理框架再支持一种其他类型的数据源,只需对应增加一个特有抽象类即可,从而实现了通用处理框架根据实际需要支持的数据源的类别对特有抽象类进行灵活的配置。
本申请在生成每个类别数据源的特有抽象类时,获取数据源提供的API(应用程序接口),将数据源的API进行统一封装,便于统一操作接口与通用抽象类连接以接收数据操作的操作参数;特有抽象类中还包括用于对数据源的实体类执行数据操作的操作函数,当需要对数据源进行数据操作时,通过统一操作接口中定义的操作函数名称以及通用实体类解析到的实体类属性信息和实体类的成员变量信息,即可调用特有抽象类中的操作函数对数据源的实体类进行序列化或反序列化处理。
需要补充说明的是,在计算机科学的资料处理中,序列化是指将数据结构或物件状态转换成可取用的格式(例如存成字节序列,以存于缓存中或经由网络进行传送),以留待后续在相同或另一台计算机环境中,能够恢复原先状态的过程;反序列化为序列化的反向过程。简单来说,序列化就是把数据对象转换为字节序列的过程,反序列化就是把字节序列恢复为数据对象的过程。
本申请在对数据源进行数据操作时,就涉及到序列化和反序列化的过程,但是,由于不同类别的数据源的数据结构不同,用于实现序列化操作的数据源接口不同,执行序列化和反序列化的方法就不同,导致无法对不同类型的数据源使用统一的数据操作方法去操作,而本申请构建的通用处理框架通过定义统一操作接口,通过通用抽象类和特有抽象类封装的操作函数即可统一完成数据源的序列化和反序列化的过程。
由以上技术方案可知,本申请实施例提供了一种数据源通用处理框架构建方法,所构建的通用处理框架包含统一操作接口、通用抽象类和特有抽象类,其中,统一操作接口对各个类型的数据源的操作接口进行了统一和分类;通用抽象类和特有抽象类将数据源共有的数据操作和特有的数据操作进行的分层次的封装处理,方便用户根据实际需求添加或删除通用处理框架构支持的数据源的类型。使用本申请提供实施例构建的通用处理框架构对数据源进行数据操作时,只需调用统一操作接口,就可以通过通用处理框架中的通用抽象类和特有抽象类完成对各类数据源的数据操作;从而,不需要对每一种数据库都建立接口连接,减少数据源系统资源的连接数,简化了数据源的操作逻辑,降低数据源系统资源的占用,提高数据源系统运行速度和效率。对于用户来说,用户只需要掌握统一操作接口的调用方法,就可以实现对多种数据源的操作极大地降低了用户的学习成本,提高产品开发效率。
图4为本申请实施例创建的另一种数据源通用处理框架的结构示意图,如图4所示,本申请实施例创建的另一种通用处理框架在图1示出的通用处理框架的基础上,还包括:实体类框架和第一数据访问对象。
基于图4所示的通用处理框架,本申请实施示例提供了另一种数据源通用处理框架构建方法,图5为本申请提供的另一种数据源通用处理框架构建方法的流程图,如图5所示,在一种可选择的实施方式中,所述方法在步骤S110-步骤S130的基础上,还包括:
步骤S140,根据数据源可用的非数据操作,构建所述实体类框架;所述实体类框架用于连接数据源。
本申请中的实体类,是计算机开发程序中定义的一种数据容器,能够将数据源中的数据对象(例如:数据源的字段、成员变量)等信息封装到一个数据容器中,例如,将数据源封装成Java Bean(一种Java环境下的实体类),使用户可通过操作实体类对数据源进行操作,从而不再需要掌握每个数据源的操作接口和操作语句,便于对数据源进行序列化和反序列化操作,提高数据源操作的效率。
通常,一个实体类要对应一个数据源中的一个数据表,实体类中的主键和成员变量等内容对应数据源或数据表的主键和成员变量。本申请为了进一步降低用户对数据源进行数据操时的操作量,在步骤S140中,定义了实体类框架。在计算机开发程序中,实体类框架是实体类的一种扩展方式,实体类框架不具体对应某一个数据源,而是提供了一种构造实体类的逻辑框架,例如,在Java环境中,实体类框架为Java MapBean。当需要对数据源进行数据操作时,对实体类框架指定要操作的数据源或数据表,使实体类框架接收来自数据源的信息,例如:数据源的主键、字段、成员变量等信息,从而构造一个能够连接不同数据源动态实体类,实现通过一个动态实体类操作多个不同类型的数据源。
步骤S150,继承每个预设类别数据源的所述特有抽象类,构建匹配每一类数据源的所述第一数据访问对象;每个所述第一数据访问对象与所述实体类框架关联,所述第一数据访问对象用于获取操作命令,并根据所述操作命令调用所述统一操作接口执行数据操作。
在计算机领域,数据访问对象(data access object,DAO),是为某种类型的数据源或其他持久性机制提供一个抽象接口的对象。本申请为每一类数据源对应构建第一数据访问对象,第一访问对象与实体类框架关联,用于在实体类框架和通用处理框架之间充当连接的媒介,通过第一数据访问对象获取操作命令,并根据操作命令调用统一操作接口执行数据操作,实现在数据源和外部信息之间的数据转移过程。
本申请中的第一访问对象将数据源或数据源的实体类与外部信息隔离,从而,在对数据源进行数据操作时,不需暴露数据源的细节。当数据源的数据操作内容改变时,仅需要继承特有抽象类适应性地改变第一访问对象,就可以使第一数据访问对象具备调用统一操作接口进行新的数据操作的能力。
由以上技术方案可知,本申请实施例提供了一种数据源通用处理框架构建方法,所构建的通用处理框架包含统一操作接口、通用抽象类和特有抽象类,其中,统一操作接口对各个类型的数据源的操作接口进行了统一和分类;通用抽象类和特有抽象类将数据源共有的数据操作和特有的数据操作进行的分层次的封装处理,方便用户根据实际需求添加或删除通用处理框架构支持的数据源的类型。使用本申请提供的通用处理框架构对数据源进行数据操作时,只需调用统一操作接口,就可以通过通用处理框架中的通用抽象类和特有抽象类完成对各类数据源的数据操作;从而,不需要对每一种数据库都建立接口连接,减少数据源系统资源的连接数,简化了数据源的操作逻辑,降低数据源系统资源的占用,提高数据源系统运行速度和效率。对于用户来说,用户只需要掌握括统一操作接口的调用方法,就可以实现对多种数据源的操作极大地降低了用户的学习成本,提高产品开发效率。
实施例二
本申请实施例提供了一种数据源操作方法,应用了本申请实施例一构建的通用处理框架,图6为本申请实施例提供的一种数据源操作方法的通用处理框架应用框图,图7为本申请实施例提供的一种数据源操作方法的流程图,如图6和图7所示,所述方法包括以下步骤:
步骤S210,对每一类待处理数据源构建实体类,并对所述实体类添加注解;所述注解标识了所述实体类与待处理数据源的对应关系,以及所述实体类的主键与所述待处理数据源的主键的对应关系。
本申请中,每个实体类对应一个数据源(或数据表),每个实体类将对应数据源中的数据对象(例如:数据源的字段、成员变量)等信息封装到一个数据容器中,使用户可通过操作实体类对数据源进行操作,从而不再需要掌握每个数据源的操作接口和操作语句,便于对数据源进行序列化和反序列化操作,提高数据源操作的效率。
本申请对每个实体类添加有注解,以便于通用处理框架根据注解找到要处理的数据源对应的实体类,并对实体类进行解析,了解实体类中和数据源的主键、字段、成员变量等的对应关系,从而实现通过操作实体类来操作数据源的目的。
步骤S220,继承每一类待处理数据源的特有抽象类,构建匹配每一类待处理数据源的第二数据访问对象;每个所述第二数据访问对象关联对应数据源类别的所述实体类。
在计算机领域,数据访问对象(data access object,DAO),是为某种类型的数据源或其他持久性机制提供一个抽象接口的对象。本申请中的第二访问对象与实体类关联,用于在实体类和通用处理框架之间充当连接的媒介,通过第二数据访问对象获取操作命令,并根据操作命令调用统一操作接口执行数据操作,实现数据源和外部信息之间的数据转移过程。
本申请对每个类型数据源对应的实体类,构建第二数据访问对象,第二数据访问对象用于获取对数据源的操作命令,并根据操作命令调用统一操作接口执行数据操作。由于,在第二数据访问对象的构建过程中继承了对应类型数据源的特有抽象类,因而,第二数据访问对象在调用统一操作接口时传递的调用参数,能够对特有抽象类中的操作函数进行赋值,从而使特有抽象类能够根据赋值的操作函数对指定类别的数据源执行特有的数据操作。
步骤S230,通过所述第二数据访问对象调用所述通用处理框架的统一操作接口操作待处理数据源。
本申请在构建数据源的实体类和构建第二数据访问对象之后,通过第二数据访问对象调用统一操作接口操作待处理数据源。
图8为本申请实施例提供的一种数据源处理方法步骤S230的流程图,如图7所示,在一种可选择的实施方式中,步骤S230包括以下步骤:
步骤S231,通过所述第二数据访问对象向所述统一操作接口传递操作参数。
本申请中,第二数据访问对象用于接收用户的对数据源的操作信息,例如:要操作哪一个数据源,要操作数据源的哪个字段、哪条记录等,要对数据源的字段、记录等执行哪种操作等。第二数据访问对象将上述操作信息转化成可为操作函数赋值的操作参数,并将操作参数传递给统一操作接口。
步骤S232,所述通用处理框架的通用抽象类根据操作参数解析所述实体类。
由于本申请中的实体类通过设置的注解标识了实体类与待处理数据源的对应关系,通用抽象类可根据操作参数指定的要操作的数据源找到对应的实体类;然后,根据注解标识的实体类的主键与待处理数据源的主键的对应关系对实体类进行解析,以进一步获得实体类各个成员变量与数据源各个字段的对应关系、以及实体类各个成员变量类型与数据源各个成员变量类型的对应关系等。
步骤S233,所述通用处理框架的特有抽象类根据所述操作参数和所述实体类的解析结果操作待处理数据源。
统一操作接口会根据操作参数指定的数据操作类型,找到对应的操作函数名称,进而,可在数据源对应的特有抽象类中找到对应的操作函数。本申请在步骤S233中,通过操作参数对操作函数进行赋值,并根据赋值后的操作函数和实体类的解析结果操作实体类,实现通过实体类操作数据源。
由以上技术方案可知,本申请提供的数据源处理方法,应用本申请实施例构建的通用处理框架,只需调用统一操作接口,就可以通过通用处理框架中的通用抽象类和特有抽象类完成对各类数据源的数据操作,从而,不需要对每一种数据库都建立接口连接,减少数据源系统资源的连接数,简化了数据源的操作逻辑,降低数据源系统资源的占用,提高数据源系统运行速度和效率。对于用户来说,用户只需要掌握统一操作接口的调用方法,就可以实现对多种数据源的操作极大地降低了用户的学习成本,提高产品开发效率。
实施例三
本申请实施例提供了另一种数据源处理方法,应用了本申请实施例一构建的通用处理框架,图9为本申请实施例提供的另一种数据源操作方法的通用处理框架应用框图,图10为本申请实施例提供的另一种数据源操作方法的流程图,如9和图10所示,所述方法包括以下步骤:
步骤S310,获取待处理数据源的连接信息;所述连接信息包括数据源的驱动信息、数据源地址、数据源的用户名和数据源的密码中的一个或多个。
步骤S320,根据所述连接信息,连接所述实体类框架与待处理数据源。
本申请中,实体类框架可通过连接信息访问待处理数据源,从而获得数据源的信息,例如:数据源的主键、字段、成员变量等信息,从而,通用抽象类通过解析实体类框架,就能够获得数据源或数据表的名称、数据源的主键、数据源各个字段的名称,以及各个成员变量的值等信息。
步骤S330,获取与待处理数据源对应的第一数据访问对象。
根据实体类框架连接的待处理数据源的类型,获取与待处理数据源对应的第一数据访问对象,从而使第一数据访问对象在接收到用户给出的操作命令时,能够生成适用于待处理数据源的特有抽象类的操作参数。
步骤S340,通过所述第一数据访问对象调用所述通用处理框架的统一操作接口操作待处理数据源。
本申请在构建数据源的实体类和构建第一数据访问对象之后,通过第一数据访问对象调用统一操作接口操作待处理数据源。
图11为本申请实施例提供的一种数据源处理方法步骤S340的流程图,如图11所示,在一种可选择的实施方式中,步骤S340包括以下步骤:
步骤S341,通过所述第一数据访问对象向所述统一操作接口传递操作参数。
本申请中,第一数据访问对象用于接收用户的对数据源的操作信息,例如:要操作哪一个数据源,要操作数据源的哪个字段、哪条记录等,要对数据源的字段、记录等执行哪种操作等。第一数据访问对象将上述操作信息转化成可为操作函数赋值的操作参数,并将操作参数传递给统一操作接口。
步骤S342,所述通用处理框架的通用抽象类根据操作参数解析所述实体类框架。
本申请的实体类框架与待处理的数据源连接,能够获得数据源的信息,例如:数据源的主键、字段、成员变量等信息。因此,通用抽象类通过解析实体类框架,就能够获得数据源或数据表的名称、数据源的主键、数据源各个字段的名称,以及各个成员变量的值等信息。
步骤S343,所述通用处理框架的特有抽象类根据所述操作参数和所述实体类框架的解析结果操作待处理数据源。
统一操作接口会根据操作参数指定的数据操作类型,找到对应的操作函数名称,进而,可在数据源对应的特有抽象类中找到对应的操作函数。本申请在步骤S343中,通过操作参数对操作函数进行赋值,并根据赋值后的操作函数和实体类的解析结果操作实体类框架,实现通过实体类框架操作数据源。
本申请实施例提供的数据源处理方法,应用本申请实施例构建的通用处理框架,只需调用统一操作接口,就可以通过通用处理框架中的通用抽象类和特有抽象类完成对各类数据源的数据操作,从而,不需要对每一种数据库都建立接口连接,减少数据源系统资源的连接数,简化了数据源的操作逻辑,降低数据源系统资源的占用,提高数据源系统运行速度和效率。此外,本申请实施例中,根据数据源操作的实际需求,实体类框架可与不同的数据源连接,不需要预先建立数据源与实体类框架的对应关系,从而实现了通过一个实体类框架对多个类型数据源的动态操作,简化了数据源的操作逻辑,提高数据源系统运行速度和效率。
实施例四
本申请实施例提供了一种数据源通用处理框架构建装置,图12为本申请实施例提供的一种数据源通用处理框架构建装置的结构框图,如图12所示,所述装置包括:
统一操作接口构建单元410,用于根据数据源可用的操作类型,构建所述统一操作接口;所述操作类型包括数据操作和非数据操作;所述数据操作包括增加数据、删除数据、修改数据和查询数据中的至少一个;所述非数据操作包括对数据源的数据结构的解析;
通用抽象类生成单元420,用于根据数据源可用的非数据操作,生成通用抽象类,所述通用抽象类用于解析数据源的实体类;
特有抽象类生成单元430,用于根据每个类别的数据源的数据操作,生成每一类数据源的特有抽象类,所述特有抽象类用于对指定类别的数据源执行特有的数据操作。
图13为本申请提供的另一种数据源通用处理框架构建装置的结构框图,如图13所示,在一种可选择的实施方式中,所述装置在图12的基础上,还包括:
实体类框架构建单元440,用于根据数据源可用的非数据操作,构建所述实体类框架;所述实体类框架用于连接数据源;
第一数据访问对象构建单元450,用于继承每个预设类别数据源的所述特有抽象类,构建匹配每一类数据源的所述第一数据访问对象;每个所述第一数据访问对象与所述实体类框架关联,所述第一数据访问对象用于获取操作命令,并根据所述操作命令调用所述统一操作接口执行数据操作。
由以上技术方案可知,本申请实施例提供了一种数据源通用处理框架构建装置,所构建的通用处理框架包含统一操作接口、通用抽象类和特有抽象类,其中,统一操作接口对各个类型的数据源的操作接口进行了统一和分类;通用抽象类和特有抽象类将数据源共有的数据操作和特有的数据操作进行的分层次的封装处理,方便用户根据实际需求添加或删除通用处理框架构支持的数据源的类型。使用本申请实施例构建的通用处理框架构对数据源进行数据操作时,只需调用统一操作接口,就可以通过通用处理框架中的通用抽象类和特有抽象类完成对各类数据源的数据操作;从而,不需要对每一种数据库都建立接口连接,减少数据源系统资源的连接数,简化了数据源的操作逻辑,降低数据源系统资源的占用,提高数据源系统运行速度和效率。对于用户来说,用户只需要掌握统一操作接口的调用方法,就可以实现对多种数据源的操作极大地降低了用户的学习成本,提高产品开发效率。
实施例五
本申请实施例提供了一种数据源处理装置,图14为本申请实施例提供的一种数据源处理装置的结构框图,如图14所示,所述装置包括:
实体类构建单元510,用于对每一类待处理数据源构建实体类,并对所述实体类添加注解;所述注解标识了所述实体类与待处理数据源的对应关系,以及所述实体类的主键与所述待处理数据源的主键的对应关系;
第二数据访问对象构建单元520,用于继承每一类待处理数据源的特有抽象类,构建匹配每一类待处理数据源的第二数据访问对象;每个所述第二数据访问对象关联对应数据源类别的所述实体类;
第一操作单元530,用于通过所述第二数据访问对象调用所述通用处理框架的统一操作接口操作待处理数据源。
由以上技术方案可知,本申请提供的数据源处理装置,应用本申请实施例构建的通用处理框架,只需调用统一操作接口,就可以通过通用处理框架中的通用抽象类和特有抽象类完成对各类数据源的数据操作,从而,不需要对每一种数据库都建立接口连接,减少数据源系统资源的连接数,简化了数据源的操作逻辑,降低数据源系统资源的占用,提高数据源系统运行速度和效率。对于用户来说,用户只需要掌握统一操作接口的调用方法,就可以实现对多种数据源的操作极大地降低了用户的学习成本,提高产品开发效率。
实施例六
本申请实施例提供了另一种数据源处理装置,图15为本申请实施例提供的另一种数据源处理装置的结构框图,如图15所示,所述装置包括:
获取单元610,用于获取待处理数据源的连接信息;所述连接信息包括数据源的驱动信息、数据源地址、数据源的用户名和数据源的密码中的一个或多个;
连接单元620,用于根据所述连接信息,连接所述实体类框架与待处理数据源;
第二数据访问对象构建单元630,用于获取与待处理数据源对应的第一数据访问对象;
第二操作单元640,用于通过所述第一数据访问对象调用所述通用处理框架的统一操作接口操作待处理数据源。
本申请实施例提供的数据源处理装置,应用本申请实施例构建的通用处理框架,只需调用统一操作接口,就可以通过通用处理框架中的通用抽象类和特有抽象类完成对各类数据源的数据操作,从而,不需要对每一种数据库都建立接口连接,减少数据源系统资源的连接数,简化了数据源的操作逻辑,降低数据源系统资源的占用,提高数据源系统运行速度和效率。此外,本申请实施例中,根据数据源操作的实际需求,实体类框架可与不同的数据源连接,不需要预先建立数据源与实体类框架的对应关系,从而实现了通过一个实体类框架对多个类型数据源的动态操作,简化了数据源的操作逻辑,提高数据源系统运行速度和效率。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。