一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种一体化软件的数据层扩展方法和系统与流程

2022-07-20 16:56:24 来源:中国专利 TAG:
1.本发明涉及石油行业井筒一体化软件开发领域,尤其涉及一种一体化软件的数据层扩展方法和系统。
背景技术
::2.现代软件体系架构设计过程中,为了实现高内聚低耦合的思想,使系统以更松散的方式耦合,从而更易于维护,通常采用分层架构的方式,每个层由一组相关的类或组件共同完成特定的功能。通常的分层架构包含数据访问层、业务逻辑层、表示层。在数据访问层的软件开发时,往往针对关系型数据库进行开发,而现代开发语言多以面向对象思想设计,通常使用对象关系映射(objectrelationalmapping,简称orm)来解决面向对象与关系型数据库的转换问题;而在实际生产过程中,硬件设备技术突飞猛进,生产管理流程逐步优化改进,数据的内容和结构会存在频繁的修改扩展可能性,导致orm映射模式需要修改映射关系,并影响到相应的实体类代码,导致上层业务层、表现层等依赖实体模型的软件代码需要同步进行调整;同时非结构化数据的数据量和类型增长极快,实际应用场景中存在较多的关系型数据和非结构化数据并存的场景,需要在数据访问层提供统一的访问接口和扩展支持。这些都给已开发软件的维护和升级扩展带来巨大的挑战,现有技术方案没有无法解决该问题。技术实现要素:3.本发明所要解决的技术问题是针对现有技术的不足,提供一种一体化软件的数据层扩展方法和系统。4.本发明解决上述技术问题的技术方案如下:5.一种一体化软件的数据层扩展方法,包括:6.数据层扩展包括:新增数据集接口、新增持久化方式和基于数据集接口新增数据集实例至少一项;7.通过创建软件的数据访问层接口、数据字典信息和持久化介质连接管理类型,以新增数据集接口;8.将创建的持久化介质连接管理类型结合创建的数据集及数据项持久化派生类型,以新增持久化方式;9.通过构建各个数据集的数据字典,以新增数据集实例。10.本发明的有益效果是:本方案通过新增数据集接口、新增持久化方式和基于数据集接口新增数据集实例至少一项,实现数据层扩展,支持多种数据持久化的方法混合,并能够实现对数据内容和结构的扩展,解决orm映射在数据内容扩展后对实体模型的修改影响,从而实现基于数据模型接口进行开发时,不会因为数据内容的扩展影响上层应用的业务逻辑。11.进一步地,所述通过创建软件的数据访问层接口、数据字典信息和持久化介质连接管理类型具体包括:12.所述数据访问层接口包括:数据集接口、数据项接口和数据字典信息查询接口;13.创建软件的数据集接口、数据项接口和数据字典信息查询接口;14.根据所述数据集接口和应用场景中的数据集实例建立数据字典信息;15.创建持久化介质连接管理接口;16.根据持久化介质的持久化方式类型结合所述持久化介质连接管理接口,创建持久化介质连接管理类型。17.采用上述进一步方案的有益效果是:本方案通过创建软件的数据访问层接口、数据字典信息和持久化介质连接管理类型,以新增数据集接口,通过在特定业务领域的提供了相对较通用的数据集抽象接口,提高了相同数据集类型的实例集合的扩展性,解决了传统orm映射的数据集扩展时需要修改映射关系的问题。18.进一步地,所述创建的持久化介质连接管理类型结合创建的数据集及数据项持久化派生类型具体包括:19.根据持久化介质的持久化方式类型结合创建的持久化介质连接管理接口,创建持久化介质连接管理类型;20.根据数据集的持久化方式创建持久化基类;21.根据所述持久化基类结合创建的数据项接口获得数据集及数据项持久化派生类型。22.进一步地,所述构建各个数据集的数据字典具体包括:23.将创建的数据集及数据项持久化派生类型和建立的数据字典信息注册至反转容器中,完成数据字典的构建。24.采用上述进一步方案的有益效果是:本方案通过构建各个数据集的数据字典,以新增数据集实例,通过提供数据字典注册机制,避免数据内容扩充时修改数据实体进而影响上层应用;通过提供数据字典查询接口,避免在上层应用的功能对数据实体实例类型的依赖,能够提高功能的复用性。25.进一步地,所述数据集接口包括:通用数据集接口、散点数据集接口、段数据集接口和曲线数据集接口;26.所述数据项接口包括通用数据项接口、散点数据项接口、段数据项接口和曲线数据项接口。27.本发明解决上述技术问题的另一种技术方案如下:28.一种一体化软件的数据层扩展系统,包括:数据集接口扩展模块、持久化方式扩展模块和数据集实例扩展模块;29.数据层扩展包括:新增数据集接口、新增持久化方式和基于数据集接口新增数据集实例至少一项;30.所述数据集接口扩展模块用于通过创建软件的数据访问层接口、数据字典信息和持久化介质连接管理类型,以新增数据集接口;31.所述持久化方式扩展模块用于将创建的持久化介质连接管理类型结合创建的数据集及数据项持久化派生类型,以新增持久化方式;32.所述数据集实例扩展模块用于通过构建各个数据集的数据字典,以新增数据集实例。33.本发明的有益效果是:本方案通过新增数据集接口、新增持久化方式和基于数据集接口新增数据集实例至少一项,实现数据层扩展,支持多种数据持久化的方法混合,并能够实现对数据内容和结构的扩展,解决orm映射在数据内容扩展后对实体模型的修改影响,从而实现基于数据模型接口进行开发时,不会因为数据内容的扩展影响上层应用的业务逻辑。34.进一步地,所述数据访问层接口包括:数据集接口、数据项接口和数据字典信息查询接口;35.所述数据集接口扩展模块具体用于创建软件的数据集接口、数据项接口和数据字典信息查询接口;36.根据所述数据集接口和应用场景中的数据集实例建立数据字典信息;37.创建持久化介质连接管理接口;38.根据持久化介质的持久化方式类型结合所述持久化介质连接管理接口,创建持久化介质连接管理类型。39.采用上述进一步方案的有益效果是:本方案通过创建软件的数据访问层接口、数据字典信息和持久化介质连接管理类型,以新增数据集接口,通过在特定业务领域的提供了相对较通用的数据集抽象接口,提高了相同数据集类型的实例集合的扩展性,解决了传统orm映射的数据集扩展时需要修改映射关系的问题。40.进一步地,所述持久化方式扩展模块具体用于根据持久化介质的持久化方式类型结合创建的持久化介质连接管理接口,创建持久化介质连接管理类型;41.根据数据集的持久化方式创建持久化基类;42.根据所述持久化基类结合创建的数据项接口获得数据集及数据项持久化派生类型。43.进一步地,所述数据集实例扩展模块具体用于将创建的数据集及数据项持久化派生类型和建立的数据字典信息注册至反转容器中,完成数据字典的构建。44.采用上述进一步方案的有益效果是:本方案通过构建各个数据集的数据字典,以新增数据集实例,通过提供数据字典注册机制,避免数据内容扩充时修改数据实体进而影响上层应用;通过提供数据字典查询接口,避免在上层应用的功能对数据实体实例类型的依赖,能够提高功能的复用性。45.进一步地,所述数据集接口包括:通用数据集接口、散点数据集接口、段数据集接口和曲线数据集接口;46.所述数据项接口包括通用数据项接口、散点数据项接口、段数据项接口和曲线数据项接口。47.本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。附图说明48.图1为本发明的实施例提供的一种一体化软件的数据层扩展方法的流程示意图;49.图2为本发明的实施例提供的一种一体化软件的数据层扩展系统的结构框架图;50.图3为本发明的其他实施例提供的数据集及数据项的继承关系图;51.图4为本发明的其他实施例提供的数据集的接口说明示意图;52.图5为本发明的其他实施例提供的数据项的接口说明示意图;53.图6为本发明的其他实施例提供的数据字典的记录结构和内容的示意图;54.图7为本发明的其他实施例提供的数据集实例注册信息示例示意图;55.图8为本发明的其他实施例提供的数据项实例注册信息示例示意图;56.图9为本发明的其他实施例提供的持久化类型基类以及各数据集派生类的实现原理示意图。具体实施方式57.以下结合附图对本发明的原理和特征进行描述,所举实施例只用于解释本发明,并非用于限定本发明的范围。58.如图1所示,为本发明实施例提供的一种一体化软件的数据层扩展方法,包括:59.数据层扩展包括:新增数据集接口、新增持久化方式和基于数据集接口新增数据集实例至少一项;60.s1,通过创建软件的数据访问层接口、数据字典信息和持久化介质连接管理类型,以新增数据集接口;需要说明的是,对于井筒数据,数据抽象接口包括通用数据集(icommonlist)、散点数据集(ipointlist)、段数据集(irangelist)、曲线数据集(icurvelist);数据项接口包括通用数据项(ientity)、散点数据项(ipoint)、段数据项(irange)、曲线数据项(icurve)等。61.在另一实施例中,数据集及数据项接口集成关系如图3所示。数据集及数据项接口集成关系如图3所示,idatalist为数据集顶层抽象接口,表示单个数据集,每个数据集中包含多个数据项(idata);icommonlist包含多个ientity数据项,单个ientity表示键值对类型的数据,特征字段的类型可以是任何类型,可以用来存储具有关联关系的两个特征数值;ipointlist包含多个ipoint数据项,单个ipoint表示散点数据,其特征字段为单个double类型的数值,用于存储数据项的特征数值;irangelist包含多个irange数据项,单个irange表示段数据,其特征字段为两个double类型的数值,用于存储数据项的特征数值范围;icurvelist包含多个icurve数据项,单个icurve表示曲线数据,其特征字段为曲线的名称、自变量、因变量的数值集合。接口的定义及说明分别如图4、图5所示;62.s2,将创建的持久化介质连接管理类型结合创建的数据集及数据项持久化派生类型,以新增持久化方式;在某一实施例中,以sqlite数据库来进行持久化存储为例,如图9所示,持久化介质连接管理管理类型为sqlitedbapi,提供sqlite数据库操作封装;63.在另一实施例中,如图9所示,sqlcommonlist、sqlpointlist、sqlrangelist、sqlcurvelist分别为数据集抽象接口的持久化派生类型,sqlentity、sqlpoint、sqlrange、sqlcurve分别为数据项的持久化派生类型。64.s3,通过构建各个数据集的数据字典,以新增数据集实例。65.在某一实施例中,s3可以包括:根据应用场景中各类数据集实例中的数据集抽象接口,建立各个数据集的数据字典,数据字典的结构如图6所示,包括数据集名称、数据项类型、与数据项接口特征字段的映射关系、非特征字段的名称及值类型、持久化类型;如果无法对应到相应的数据集接口则可创建相应的数据集接口并定义特征字段。66.定义持久化介质连接管理接口,提供数据集、数据项的访问接口,并根据持久化方式不同定义相应的持久化介质连接管理类型,并注册至控制反转容器中;其中,持久化方式可以包括数据库存储和文件存储两种方式,持久化介质对应。持久化介质包括不同的存储方式,主要包括不同的数据库,比如sqlite、mysql等,不同类型的文件,比如文本文件、xml文件、json文件、二进制文件。67.根据应用场景中各类数据集的持久化方式定义数据集及数据项持久化基类,该基类是指定持久化介质连接管理类完成和持久化介质相互转换过程;68.根据前文已有的持久化基类定义、各数据项接口实现的数据集、数据项持久化派生类型、结合数据字典完成数据项特征字段的实现。69.将各持久化派生类型、数据字典中的数据集名称及数据项类型注册至控制反转容器中,数据集实例的新增。70.在某一实施例中,井筒一体化软件的数据层可扩展方法可以包括:71.步骤11:定义井筒一体化软件业务领域的数据集接口(idatalist)、数据项接口(idata),数据集通过组合模式提供数据项的访问接口。对于井筒数据,数据抽象接口包括通用数据集(icommonlist)、散点数据集(ipointlist)、段数据集(irangelist)、曲线数据集(icurvelist);数据项接口包括通用数据项(ientity)、散点数据项(ipoint)、段数据项(irange)、曲线数据项(icurve)等,在数据字典中定义各个数据项的枚举标识、特征字段名称及值类型;72.步骤12:根据应用场景中各类数据集实例按照步骤11中的数据集抽象接口,建立各个数据集的数据字典,数据字典的结构如图6所示,包括数据集名称、数据项类型、与数据项接口特征字段的映射关系、非特征字段的名称及值类型、持久化类型;如果无法对应到相应的数据集接口则可按照步骤11创建相应的数据集接口并定义特征字段;数据集合数据项实例的数据字典注册信息如图7、图8所示;73.步骤13:定义持久化介质连接管理接口,提供数据集、数据项的访问接口,并根据持久化方式不同定义相应的持久化介质连接管理类型,并注册至控制反转容器中;以sqlite数据库来进行持久化存储为例,如图9所示,持久化介质连接管理管理类型为sqlitedbapi,提供sqlite数据库操作封装;74.步骤14:根据应用场景中各类数据集的持久化方式定义数据集及数据项持久化基类,该基类基于步骤13中定义的指定持久化介质连接管理类完成和持久化介质相互转换过程;如图9所示,实现sqldatalist作为sqlite数据集持久化基类,该基类完成datatable数据的持久化过程;75.步骤15:基于步骤13的持久化基类定义、基于步骤12中各数据项接口实现的数据集及数据项持久化派生类型、并基于步骤12中的数据字典完成数据项特征字段的实现;如图9所示,sqlcommonlist、sqlpointlist、sqlrangelist、sqlcurvelist分别为数据集抽象接口的持久化派生类型,sqlentity、sqlpoint、sqlrange、sqlcurve分别为数据项的持久化派生类型;76.步骤16:根据步骤15的各持久化派生类型和步骤12中数据字典中的数据集名称及数据项类型注册至控制反转容器中;77.步骤17:提供统一的数据访问层接口,包括数据集及数据项读/写接口、数据字典查询接口;数据集及数据项读/写接口通过数据字典查询获取数据集及数据项的持久化类型从控制反转容器中获取持久化连接管理对象,并调用相应的读/写接口获取数据集及数据项接口的实例对象返回或调用其方法;数据字典查询接口获取配置的数据集及数据项的说明信息,用于上层业务根据业务特点筛选出可用的数据集和字段集合。78.步骤18:新增数据集抽象接口时,按照步骤11至步骤17添加相应的数据集接口、数据项接口、数据字典信息、持久化派生类型、数据访问层接口;新增持久化方式时,按照步骤13、步骤14、步骤15定义相应持久化介质连接管理类型并实现数据集及数据项接口的持久化派生类型;基于数据集抽象接口新增数据集实例时,按照步骤12和步骤16添加数据字典。79.本发明的有益效果是:本方案通过新增数据集接口、新增持久化方式和基于数据集接口新增数据集实例至少一项,实现数据层扩展,支持多种数据持久化的方法混合,并能够实现对数据内容和结构的扩展,解决orm映射在数据内容扩展后对实体模型的修改影响,从而实现基于数据模型接口进行开发时,不会因为数据内容的扩展影响上层应用的业务逻辑。80.优选地,在上述任意实施例中,所述通过创建软件的数据访问层接口、数据字典信息和持久化介质连接管理类型具体包括:81.所述数据访问层接口包括:数据集接口、数据项接口和数据字典信息查询接口;82.创建软件的数据集接口、数据项接口和数据字典信息查询接口;83.根据所述数据集接口和应用场景中的数据集实例建立数据字典信息;84.创建持久化介质连接管理接口;85.根据持久化介质的持久化方式类型结合所述持久化介质连接管理接口,创建持久化介质连接管理类型。86.本方案通过创建软件的数据访问层接口、数据字典信息和持久化介质连接管理类型,以新增数据集接口,通过在特定业务领域的提供了相对较通用的数据集抽象接口,提高了相同数据集类型的实例集合的扩展性,解决了传统orm映射的数据集扩展时需要修改映射关系的问题。87.优选地,在上述任意实施例中,所述创建的持久化介质连接管理类型结合创建的数据集及数据项持久化派生类型具体包括:88.根据持久化介质的持久化方式类型结合创建的持久化介质连接管理接口,创建持久化介质连接管理类型;89.根据数据集的持久化方式创建持久化基类;90.根据所述持久化基类结合创建的数据项接口获得数据集及数据项持久化派生类型。91.优选地,在上述任意实施例中,所述构建各个数据集的数据字典具体包括:92.将创建的数据集及数据项持久化派生类型和建立的数据字典信息注册至反转容器中,完成数据字典的构建。93.本方案通过构建各个数据集的数据字典,以新增数据集实例,通过提供数据字典注册机制,避免数据内容扩充时修改数据实体进而影响上层应用;通过提供数据字典查询接口,避免在上层应用的功能对数据实体实例类型的依赖,能够提高功能的复用性。94.优选地,在上述任意实施例中,所述数据集接口包括:通用数据集接口、散点数据集接口、段数据集接口和曲线数据集接口;95.所述数据项接口包括通用数据项接口、散点数据项接口、段数据项接口和曲线数据项接口。96.在某一实施例中,如图2所示,一种一体化软件的数据层扩展系统,包括:数据集接口扩展模块1101、持久化方式扩展模块1102和数据集实例扩展模块1103;97.数据层扩展包括:新增数据集接口、新增持久化方式和基于数据集接口新增数据集实例至少一项;98.所述数据集接口扩展模块1101用于通过创建软件的数据访问层接口、数据字典信息和持久化介质连接管理类型,以新增数据集接口;99.所述持久化方式扩展模块1102用于将创建的持久化介质连接管理类型结合创建的数据集及数据项持久化派生类型,以新增持久化方式;100.所述数据集实例扩展模块1103用于通过构建各个数据集的数据字典,以新增数据集实例。101.本方案通过新增数据集接口、新增持久化方式和基于数据集接口新增数据集实例至少一项,实现数据层扩展,支持多种数据持久化的方法混合,并能够实现对数据内容和结构的扩展,解决orm映射在数据内容扩展后对实体模型的修改影响,从而实现基于数据模型接口进行开发时,不会因为数据内容的扩展影响上层应用的业务逻辑。102.优选地,在上述任意实施例中,所述数据访问层接口包括:数据集接口、数据项接口和数据字典信息查询接口;103.所述数据集接口扩展模块1101具体用于创建软件的数据集接口、数据项接口和数据字典信息查询接口;104.根据所述数据集接口和应用场景中的数据集实例建立数据字典信息;105.创建持久化介质连接管理接口;106.根据持久化介质的持久化方式类型结合所述持久化介质连接管理接口,创建持久化介质连接管理类型。107.本方案通过创建软件的数据访问层接口、数据字典信息和持久化介质连接管理类型,以新增数据集接口,通过在特定业务领域的提供了相对较通用的数据集抽象接口,提高了相同数据集类型的实例集合的扩展性,解决了传统orm映射的数据集扩展时需要修改映射关系的问题。108.优选地,在上述任意实施例中,所述持久化方式扩展模块1102具体用于根据持久化介质的持久化方式类型结合创建的持久化介质连接管理接口,创建持久化介质连接管理类型;109.根据数据集的持久化方式创建持久化基类;110.根据所述持久化基类结合创建的数据项接口获得数据集及数据项持久化派生类型。111.优选地,在上述任意实施例中,所述数据集实例扩展模块1103具体用于将创建的数据集及数据项持久化派生类型和建立的数据字典信息注册至反转容器中,完成数据字典的构建。112.本方案通过构建各个数据集的数据字典,以新增数据集实例,通过提供数据字典注册机制,避免数据内容扩充时修改数据实体进而影响上层应用;通过提供数据字典查询接口,避免在上层应用的功能对数据实体实例类型的依赖,能够提高功能的复用性。113.优选地,在上述任意实施例中,所述数据集接口包括:通用数据集接口、散点数据集接口、段数据集接口和曲线数据集接口;114.所述数据项接口包括通用数据项接口、散点数据项接口、段数据项接口和曲线数据项接口。115.可以理解,在一些实施例中,可以包含如上述各实施例中的部分或全部可选实施方式。116.需要说明的是,上述各实施例是与在先方法实施例对应的产品实施例,对于产品实施例中各可选实施方式的说明可以参考上述各方法实施例中的对应说明,在此不再赘述。117.读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。118.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例仅仅是示意性的,例如,步骤的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个步骤可以结合或者可以集成到另一个步骤,或一些特征可以忽略,或不执行。119.上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。120.以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献