CN115617819B - 数据存储方法、系统、计算机设备及存储介质 - Google Patents
数据存储方法、系统、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115617819B CN115617819B CN202211629399.0A CN202211629399A CN115617819B CN 115617819 B CN115617819 B CN 115617819B CN 202211629399 A CN202211629399 A CN 202211629399A CN 115617819 B CN115617819 B CN 115617819B
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- list
- field
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据存储方法、系统、计算机设备及存储介质,所述方法包括定义标准模型的配置信息及所述标准模型的模型对象类;自定义配置所述标准模型的数据源及字段绑定,并在所述标准模型中提交待存储数据列表;根据所述配置信息及所述模型对象类对所述待存储数据列表进行解析与字段映射,将解析与字段映射之后的所述待存储数据列表封装进实体对象列表中;对所述实体对象列表进行解析,并将其存储在数据库中。本发明全过程只需要进行模型配置,即可实现自定义结构的数据存储,大大节省了前台接口调用参数配置和后台业务数据存储服务的实现以及后期维护等工作量成本,并且可以对变更频繁的业务做出迅速的响应。
Description
技术领域
本发明属于数据存储的技术领域,具体地涉及一种数据存储方法、系统、计算机设备及存储介质。
背景技术
传统应用系统的数据存储主要是通过后台编写相应的执行语句实现的,不同数据结构的数据需要编写各自的执行语句。虽然可以通过一些第三方的持久层框架或代码快速生成工具来实现,但主要节省的是参数设置或编码等方面的工作,仍然需要为不同的业务需求定制编写相应的执行语句。这种方式主要存在以下缺点:
1、针对不同的业务需求,需要定制编写相应的数据储存执行语句,需要具有一定经验的开发人员才能完成。同时还需实现配套的调用操作功能,当业务需求废弃时,相应功能模块又需要手动移除,人工维护成本极大;
2、一般地,数据存储涉及到的数据库表相关操作需要定义对应的实体、数据访问、存储服务等并提供相应的基础功能实现;
3、前台表单提交数据存储请求时,不同业务数据需要调用不同的后台服务接口,每个接口均需进行相应的参数映射、出错及结果处理等繁杂操作;
4、在业务变更频繁且需要及时响应的情况下,传统应用系统的数据存储方案需要对编码以及执行语句进行修改,将会消耗非常大的人工成本以及响应速度缓慢。
发明内容
为了解决上述技术问题,本发明提供了一种数据存储方法、系统、计算机设备及存储介质,用于解决现有技术中存在的技术问题,本发明通过定义标准模型的配置信息及模型对象类,用户在前台即可根据业务需求自定义配置模型,然后提交数据存储请求至统一的后台服务接口,后台服务根据对应的模型进行解析和数据映射,从而得到相应的实体对象列表,最后提交执行即可。全过程只需要进行模型配置,即可实现自定义结构的数据存储,适用于无论单表还是多表数据以及单条或多条数据的存储,大大节省了前台接口调用参数配置和后台业务数据存储服务的实现以及后期维护等工作量成本,并且可以对变更频繁的业务做出迅速的响应。
第一方面,该发明提供以下技术方案,一种数据存储方法,所述方法包括:
定义标准模型的配置信息及所述标准模型的模型对象类;
自定义配置所述标准模型的数据源及字段绑定,并在所述标准模型中提交待存储数据列表,所述待存储数据列表包括若干待存储数据;
根据所述配置信息及所述模型对象类对所述待存储数据列表进行解析与字段映射,将解析与字段映射之后的所述待存储数据列表封装进实体对象列表中;
对所述实体对象列表进行解析,并将其存储在数据库中。
相比现有技术,本申请的有益效果为:本申请通过定义标准模型的配置信息及模型对象类,用户在前台即可根据业务需求自定义配置模型,然后提交数据存储请求至统一的后台服务接口,后台服务根据对应的模型进行解析和数据映射,从而得到相应的实体对象列表,最后提交执行即可。全过程只需要进行模型配置,即可实现自定义结构的数据存储,适用于无论单表还是多表数据以及单条或多条数据的存储,大大节省了前台接口调用参数配置和后台业务数据存储服务的实现以及后期维护等工作量成本,并且可以对变更频繁的业务做出迅速的响应。
较佳的,在所述定义标准模型的配置信息及所述标准模型的模型对象类的步骤中,所述配置信息包括:
模型标识:所述模型标识为所述标准模型的唯一标识,用于根据所述模型标识获取所述配置信息;
数据源配置:所述数据源配置为存储所述待存储数据所需使用的数据库表的配置;
字段绑定配置:所述字段绑定配置为存储所述待存储数据所需使用的数据字段映射的配置,其包括前台数据字段标识、字段标签、后台数据表字段。
较佳的,在所述定义标准模型的配置信息及所述标准模型的模型对象类的步骤中,所述模型对象类包括:
数据源配置对象类,用于映射所述数据源配置为对象;
字段映射对象类,用于映射所述字段绑定配置为对象;
数据实体对象类,用于作为所述待存储数据的载体;
以及字段映射对象列表。
较佳的,所述定义标准模型的配置信息及所述标准模型的模型对象类的步骤包括:
通过前台处理程序将所述配置信息定义为json格式的配置信息;
通过后台处理程序将所述模型对象类定义为java类的模型对象类。
较佳的,所述自定义配置所述标准模型的数据源及字段绑定,并在所述标准模型中提交待存储数据列表的步骤包括:
加载可配置的第一数据库表,根据所述待存储数据,从所述数据源配置中选出对应的第二数据库表,将所述第二数据库表从所述数据源配置移动至第一预设区域,并配置所述第二数据库表的查询及排序规则;
判断所述第二数据库表的数量是否大于等于预设数量;
若所述第二数据库表的数量等于预设数量,则将所述第二数据库表作为主表,若所述第二数据库表的数量大于预设数量,则根据所述第二数据库表的字段标识,将其中一个所述第二数据库表作为主表,其余作为子表;
加载可配置的数据字段,根据所述待存储数据,从所述字段绑定配置中选出对应的数据字段,并在所述第二数据库表中配置该数据字段所需绑定的数据库表及字段;
将所述待存储数据列表提交并存储在所述第二数据库表中。
较佳的,在所述根据所述配置信息及所述模型对象类对所述待存储数据列表进行解析与字段映射,将解析与字段映射之后的所述待存储数据列表封装进实体对象列表中的步骤包括:
从所述数据源配置对象类中获取所述第二数据库表的主表的主表表名,根据所述主表表名将所述模型对象类中的所述字段映射对象列表进行分组;
遍历所述主表,然后遍历所述主表对应的字段映射对象列表,根据所述主表表名新建第一数据实体对象,将所述主表、所述主表表名及所述主表的字段名设置到所述第一数据实体对象中,再将所述第一数据实体对象添加到所述实体对象列表中;
从所述数据源配置对象类获取所述子表并依次向下遍历各所述子表,然后遍历所述子表对应的字段映射对象列表,根据所述子表的表名新建第二数据实体对象,将所述子表、所述子表的表名及所述子表的字段名设置到所述第二数据实体对象中,再将所述第二数据实体对象添加到所述实体对象列表中。
较佳的,所述对所述实体对象列表进行解析,并将其存储在数据库中的步骤包括:
通过所述数据库的预设处理工具对所述实体对象列表进行解析处理,并生成相应的数据保存语句;
根据所述数据保存语句执行存储操作,以使所述待存储数据存储在所述数据库中;
判断所述存储操作是否异常;
若所述存储操作执行正常,则所述待存储数据存储在所述数据库中,若所述存储操作执行异常,则静默回滚事务并返回错误信息。
第二方面,该发明提供以下技术方案,一种数据存储系统,所述系统包括:
定义模块,用于定义标准模型的配置信息及所述标准模型的模型对象类;
自定义模块,用于自定义配置所述标准模型的数据源及字段绑定,并在所述标准模型中提交待存储数据列表,所述待存储数据列表包括若干待存储数据;
封装模块,用于根据所述配置信息及所述模型对象类对所述待存储数据列表进行解析与字段映射,将解析与字段映射之后的所述待存储数据列表封装进实体对象列表中;
解析模块,用于对所述实体对象列表进行解析,并将其存储在数据库中。
第三方面,该发明提供以下技术方案,一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的数据存储方法。
第四方面,该发明提供以下技术方案,一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据存储方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例提供的数据存储方法的流程图一;
图2为本发明第一实施例提供的数据存储方法的流程图二;
图3为本发明第一实施例提供的数据存储方法的流程图三;
图4为本发明第一实施例提供的数据存储方法的流程图四;
图5为本发明第二实施例提供的数据存储系统的结构框图;
图6为本发明另一实施例提供的计算机设备的结构示意图。
以下将结合附图对本发明实施例作进一步说明。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明的实施例,而不能理解为对本发明的限制。
在本发明实施例的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明实施例中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明实施例中的具体含义。
实施例一
如图1所示,在本发明的第一个实施例中,该发明提供以下技术方案,一种数据存储方法,所述方法包括:
S10、定义标准模型的配置信息及所述标准模型的模型对象类;
其中,所述标准模型的配置信息即为所述标准模型的标准数据结构,其用于搭建前后台数据处理的桥梁;
具体的,所述配置信息包括:
模型标识:所述模型标识为所述标准模型的唯一标识,用于根据所述模型标识获取所述配置信息;
数据源配置:所述数据源配置为存储所述待存储数据所需使用的数据库表的配置,所述数据源配置包含一个主表与若干个子表,子表与主表之间存在附属关系,主表与子表的划分根据两者的字段标识来划分,每个表还可以配置查询规则及排序规则,同时子表还需配置与父表的关联关系,要存储的数据可以只存到一张数据库表中,这样就只需要配置一张表;也可以存到数据库表中,那这些表需要存在父子关联性(也可为外键关联),可以是一张父表下关联多张子表,但父表只能有一张,且每个表所包含的属性与数据源配置对象属性基本一致;
字段绑定配置:所述字段绑定配置为存储所述待存储数据所需使用的数据字段映射的配置,其包括前台数据字段标识、字段标签、后台数据表字段,字段绑定配置与字段映射对象属性基本一致;
所述模型对象类是后台服务进行数据存储操作时用于根据标准模型的配置信息进行解析、封装和处理数据工作的主要工具;
所述模型对象类包括:
数据源配置对象类,用于映射所述数据源配置为对象;
所述数据源配置对象类包括:表名称、主键字段名列表、字段列表、是否为主表、父表名称、与父表关联关系、子表列表及模型名称,且数据源配置对象类用于对绑定数据表进行操作;
字段映射对象类,用于映射所述字段绑定配置为对象;
所述字段映射对象类包括字段标识、字段标签、数据库表、数据库字段,其用于对dbRefs列表对象的处理类,其中dbRefs指数据字段,dbRefs列表对象即为dbRefs数据字段列表所对应的字段映射对象;
数据实体对象类,用于作为所述待存储数据的载体;
在数据实体对象类中,一个Entity对应数据库中的一条数据记录,可适配任意数据,且数据实体对象类也可充当SQL条件,每一个数据实体中的每一个字段对应一个条件,字段值对应条件的值。
以及字段映射对象列表;
所述模型对象类还包括模型名称、模型标识、数据源配置、数据等,模型标识对应着配置信息中的模型标识,数据源配置对应着配置信息中的数据源配置,字段映射对象列表对应着配置信息中的字段绑定配置。
所述步骤S10包括:
通过前台处理程序将所述配置信息定义为json格式的配置信息,前台处理程序在处理自定义设计的模式使会将其组装为所述标准模型的配置信息及模型对象类;
通过后台处理程序将所述模型对象类定义为java类的模型对象类,在操作标准模型的数据以及待存储数据时,会通过模型对象类进行读写、处理、封装等操作。
S20、自定义配置所述标准模型的数据源及字段绑定,并在所述标准模型中提交待存储数据列表,所述待存储数据列表包括若干待存储数据;
在此步骤中,前台可以实现一套通用的标准模型配置界面,供用户进行模型配置,用户打开模型配置界面,先配置数据源,再配置字段绑定,最后保存并关闭界面;
如图2所示,其中,所述步骤S20包括:
S21、加载可配置的第一数据库表,根据所述待存储数据,从所述数据源配置中选出对应的第二数据库表,将所述第二数据库表从所述数据源配置移动至第一预设区域,并配置所述第二数据库表的查询及排序规则;
具体的,在加载完可配置的第一数据库表之后,第一数据库表具有若干张,以组成数据库表列表,用户可在配置界面根据待存储数据的需求,自由选择所需的数据库表,即为第二数据库表,用于可将第二数据库表从数据库表列表区域中拖至第一预设区域中,第一预设区域即为配置界面上的已选择区中,同时在拖入第一预设区域之后,会附加配置第二数据库表的查询及排序规则;
S22、判断所述第二数据库表的数量是否大于等于预设数量;
S23、若所述第二数据库表的数量等于预设数量,则将所述第二数据库表作为主表,若所述第二数据库表的数量大于预设数量,则根据所述第二数据库表的字段标识,将其中一个所述第二数据库表作为主表,其余作为子表;
其中,预设数量为1,由于用户的待存储数据不同,因而移动至第一预设区域的第二数据库表的数量可能不同,如果只有一张第二数据库表的数量为1,则不需要区分子表与主表,该第二数据库表即为主表,若第二数据库表的数量大于1,则需要区分子表与主表,而子表与主表的划分可根据第二数据库表的字段标识而定,只需设置一张主表,其余第二数据库表为子表,子表与主表之间存在主次关系,而其余子表之间为同级关系;
S24、加载可配置的数据字段,根据所述待存储数据,从所述字段绑定配置中选出对应的数据字段,并在所述第二数据库表中配置该数据字段所需绑定的数据库表及字段;
其中,该步骤中的数据库表只能由上述数据源配置中已选择的数据表中选取;
S25、将所述待存储数据列表提交并存储在所述第二数据库表中;
具体的,在用于配置完待存储数据的标准模型之后,便可直接将待存储数据列表导入或者输入该标准模型中,并提交存储在第二数据库表中。
S30、根据所述配置信息及所述模型对象类对所述待存储数据列表进行解析与字段映射,将解析与字段映射之后的所述待存储数据列表封装进实体对象列表中;
具体的,该步骤即为根据模型标识获取模型对象,然后获取数据库执行会话并开启数据库事务,接着进行数据的解析封装,以将所述待存储数据列表封装进实体对象列表中;
如图3所示,其中,所述步骤S30包括:
S31、从所述数据源配置对象类中获取所述第二数据库表的主表的主表表名,根据所述主表表名将所述模型对象类中的所述字段映射对象列表进行分组;
S32、遍历所述主表,然后遍历所述主表对应的字段映射对象列表,根据所述主表表名新建第一数据实体对象,将所述主表、所述主表表名及所述主表的字段名设置到所述第一数据实体对象中,再将所述第一数据实体对象添加到所述实体对象列表中;
在此步骤中,在将所述主表、所述主表表名及所述主表的字段名设置到所述第一数据实体对象中的步骤之后,对于主键需要根据其数据值是否为空来决定是新增数据还是修改数据,执行完毕后,再将第一数据实体对象添加到所述实体对象列表中;
S33、从所述数据源配置对象类获取所述子表并依次向下遍历各所述子表,然后遍历所述子表对应的字段映射对象列表,根据所述子表的表名新建第二数据实体对象,将所述子表、所述子表的表名及所述子表的字段名设置到所述第二数据实体对象中,再将所述第二数据实体对象添加到所述实体对象列表中;
具体的,子表的数据实体对象需根据数据源主子表间关系配置绑定相应的主表属性,从而建立关联关系。
S40、对所述实体对象列表进行解析,并将其存储在数据库中。
如图4所示,其中,所述步骤S40包括:
S41、通过所述数据库的预设处理工具对所述实体对象列表进行解析处理,并生成相应的数据保存语句;
该步骤可通过数据库的自带的预设处理工具完成,对实体对象列表进行解析处理并对应生成数据保存语句;
S42、根据所述数据保存语句执行存储操作,以使所述待存储数据存储在所述数据库中;
具体的,此步骤可为实体对象列表会将待存储数据组装为一条一条的插入sql语句,执行时只需要将这些sql依次执行,即可完成待存储数据存储在所述数据库中的过程;
S43、判断所述存储操作是否异常;
S44、若所述存储操作执行正常,则所述待存储数据存储在所述数据库中,若所述存储操作执行异常,则静默回滚事务并返回错误信息;
具体的,判断存储操作是否异常的目的在于,在一整个执行事务当中可能有多个sql执行语句,当其中一条语句执行失败时,则整体事务的所有执行语句都会回滚至整个事务执行之前的状态,即为静默回滚事务。
本实施例一的好处在于:通过定义标准模型的配置信息及模型对象类,用户在前台即可根据业务需求自定义配置模型,然后提交数据存储请求至统一的后台服务接口,后台服务根据对应的模型进行解析和数据映射,从而得到相应的实体对象列表,最后提交执行即可。全过程只需要进行模型配置,即可实现自定义结构的数据存储,适用于无论单表还是多表数据以及单条或多条数据的存储,大大节省了前台接口调用参数配置和后台业务数据存储服务的实现以及后期维护等工作量成本,并且可以对变更频繁的业务做出迅速的响应。
实施例二
如图5所示,在本发明的第二个实施例提供了一种数据存储系统,所述系统包括:
定义模块10,用于定义标准模型的配置信息及所述标准模型的模型对象类;
自定义模块20,用于自定义配置所述标准模型的数据源及字段绑定,并在所述标准模型中提交待存储数据列表,所述待存储数据列表包括若干待存储数据;
封装模块30,用于根据所述配置信息及所述模型对象类对所述待存储数据列表进行解析与字段映射,将解析与字段映射之后的所述待存储数据列表封装进实体对象列表中;
解析模块40,用于对所述实体对象列表进行解析,并将其存储在数据库中。
其中,所述自定义模块20包括:
第一加载子模块,用于加载可配置的第一数据库表,根据所述待存储数据,从所述数据源配置中选出对应的第二数据库表,将所述第二数据库表从所述数据源配置移动至第一预设区域,并配置所述第二数据库表的查询及排序规则;
第一判断子模块,用于判断所述第二数据库表的数量是否大于等于预设数量;
主子表子模块,用于若所述第二数据库表的数量等于预设数量,则将所述第二数据库表作为主表,若所述第二数据库表的数量大于预设数量,则根据所述第二数据库表的字段标识,将其中一个所述第二数据库表作为主表,其余作为子表;
第二加载子模块,用于加载可配置的数据字段,根据所述待存储数据,从所述字段绑定配置中选出对应的数据字段,并在所述第二数据库表中配置该数据字段所需绑定的数据库表及字段;
数据提交子模块,用于将所述待存储数据列表提交并存储在所述第二数据库表中。
其中,所述封装模块30包括:
分组子模块,用于从所述数据源配置对象类中获取所述第二数据库表的主表的主表表名,根据所述主表表名将所述模型对象类中的所述字段映射对象列表进行分组;
第一遍历子模块,用于遍历所述主表,然后遍历所述主表对应的字段映射对象列表,根据所述主表表名新建第一数据实体对象,将所述主表、所述主表表名及所述主表的字段名设置到所述第一数据实体对象中,再将所述第一数据实体对象添加到所述实体对象列表中;
第二遍历子模块,用于从所述数据源配置对象类获取所述子表并依次向下遍历各所述子表,然后遍历所述子表对应的字段映射对象列表,根据所述子表的表名新建第二数据实体对象,将所述子表、所述子表的表名及所述子表的字段名设置到所述第二数据实体对象中,再将所述第二数据实体对象添加到所述实体对象列表中。
其中,所述解析模块40包括:
语句生成子模块,用于通过所述数据库的预设处理工具对所述实体对象列表进行解析处理,并生成相应的数据保存语句;
存储操作子模块,用于根据所述数据保存语句执行存储操作,以使所述待存储数据存储在所述数据库中;
第二判断子模块,用于判断所述存储操作是否异常;
异常处理子模块,用于若所述存储操作执行正常,则所述待存储数据存储在所述数据库中,若所述存储操作执行异常,则静默回滚事务并返回错误信息。
在本发明的另一些实施例中,本发明实施例提供以下技术方案,一种计算机设备,包括存储器102、处理器101以及存储在所述存储器102上并可在所述处理器101上运行的计算机程序,所述处理器101执行所述计算机程序时实现上所述的数据存储方法。
具体的,上述处理器101可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器102可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器102可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(Solid State Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerial Bus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器102可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器102可在数据处理装置的内部或外部。在特定实施例中,存储器102是非易失性(Non-Volatile)存储器。在特定实施例中,存储器102包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(Random Access Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(ErasableProgrammable Read-Only Memory,简称为EPROM)、电可擦除PROM(Electrically ErasableProgrammable Read-Only Memory,简称为EEPROM)、电可改写ROM(ElectricallyAlterable Read-Only Memory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-AccessMemory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode DynamicRandom Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(ExtendedDate Out Dynamic Random Access Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器102可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器101所执行的可能的计算机程序指令。
处理器101通过读取并执行存储器102中存储的计算机程序指令,以实现上述数据存储方法。
在其中一些实施例中,计算机设备还可包括通信接口103和总线100。其中,如图6所示,处理器101、存储器102、通信接口103通过总线100连接并完成相互间的通信。
通信接口103用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口103还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线100包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线100包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线100可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线100可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该计算机设备可以基于获取到数据存储系统,执行本申请的数据存储方法,从而实现数据的存储。
在本发明的再一些实施例中,结合上述的数据存储方法,本发明实施例提供以下技术方案,一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据存储方法。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种数据存储方法,其特征在于,所述方法包括:
定义标准模型的配置信息及所述标准模型的模型对象类;
其中,所述模型对象类包括:
数据源配置对象类,用于映射所述数据源配置为对象;
字段映射对象类,用于映射字段绑定配置为对象;
数据实体对象类,用于作为待存储数据的载体;
以及字段映射对象列表;
自定义配置所述标准模型的数据源及字段绑定,并在所述标准模型中提交待存储数据列表,所述待存储数据列表包括若干待存储数据;
其中,所述字段绑定为存储所述待存储数据所需使用的数据字段映射的配置,其包括前台数据字段标识、字段标签、后台数据表字段;
根据所述配置信息及所述模型对象类对所述待存储数据列表进行解析与字段映射,将解析与字段映射之后的所述待存储数据列表封装进实体对象列表中;
对所述实体对象列表进行解析,并将其存储在数据库中。
2.根据权利要求1所述的数据存储方法,其特征在于,在所述定义标准模型的配置信息及所述标准模型的模型对象类的步骤中,所述配置信息包括:
模型标识:所述模型标识为所述标准模型的唯一标识,用于根据所述模型标识获取所述配置信息;
数据源配置:所述数据源配置为存储所述待存储数据所需使用的数据库表的配置;
字段绑定配置:所述字段绑定配置为存储所述待存储数据所需使用的数据字段映射的配置,其包括前台数据字段标识、字段标签、后台数据表字段。
3.根据权利要求1所述的数据存储方法,其特征在于,所述定义标准模型的配置信息及所述标准模型的模型对象类的步骤包括:
通过前台处理程序将所述配置信息定义为json格式的配置信息;
通过后台处理程序将所述模型对象类定义为java类的模型对象类。
4.根据权利要求1所述的数据存储方法,其特征在于,所述自定义配置所述标准模型的数据源及字段绑定,并在所述标准模型中提交待存储数据列表的步骤包括:
加载可配置的第一数据库表,根据所述待存储数据,从所述数据源配置中选出对应的第二数据库表,将所述第二数据库表从所述数据源配置移动至第一预设区域,并配置所述第二数据库表的查询及排序规则;
判断所述第二数据库表的数量是否大于等于预设数量;
若所述第二数据库表的数量等于预设数量,则将所述第二数据库表作为主表,若所述第二数据库表的数量大于预设数量,则根据所述第二数据库表的字段标识,将其中一个所述第二数据库表作为主表,其余作为子表;
加载可配置的数据字段,根据所述待存储数据,从所述字段绑定配置中选出对应的数据字段,并在所述第二数据库表中配置该数据字段所需绑定的数据库表及字段;
将所述待存储数据列表提交并存储在所述第二数据库表中。
5.根据权利要求4所述的数据存储方法,其特征在于,在所述根据所述配置信息及所述模型对象类对所述待存储数据列表进行解析与字段映射,将解析与字段映射之后的所述待存储数据列表封装进实体对象列表中的步骤包括:
从所述数据源配置对象类中获取所述第二数据库表的主表的主表表名,根据所述主表表名将所述模型对象类中的所述字段映射对象列表进行分组;
遍历所述主表,然后遍历所述主表对应的字段映射对象列表,根据所述主表表名新建第一数据实体对象,将所述主表、所述主表表名及所述主表的字段名设置到所述第一数据实体对象中,再将所述第一数据实体对象添加到所述实体对象列表中;
从所述数据源配置对象类获取所述子表并依次向下遍历各所述子表,然后遍历所述子表对应的字段映射对象列表,根据所述子表的表名新建第二数据实体对象,将所述子表、所述子表的表名及所述子表的字段名设置到所述第二数据实体对象中,再将所述第二数据实体对象添加到所述实体对象列表中。
6.根据权利要求1所述的数据存储方法,其特征在于,所述对所述实体对象列表进行解析,并将其存储在数据库中的步骤包括:
通过所述数据库的预设处理工具对所述实体对象列表进行解析处理,并生成相应的数据保存语句;
根据所述数据保存语句执行存储操作,以使所述待存储数据存储在所述数据库中;
判断所述存储操作是否异常;
若所述存储操作执行正常,则所述待存储数据存储在所述数据库中,若所述存储操作执行异常,则静默回滚事务并返回错误信息。
7.一种数据存储系统,其特征在于,所述系统包括:
定义模块,用于定义标准模型的配置信息及所述标准模型的模型对象类;
其中,所述模型对象类包括:
数据源配置对象类,用于映射所述数据源配置为对象;
字段映射对象类,用于映射字段绑定配置为对象;
数据实体对象类,用于作为待存储数据的载体;
以及字段映射对象列表;
自定义模块,用于自定义配置所述标准模型的数据源及字段绑定,并在所述标准模型中提交待存储数据列表,所述待存储数据列表包括若干待存储数据;
其中,所述字段绑定为存储所述待存储数据所需使用的数据字段映射的配置,其包括前台数据字段标识、字段标签、后台数据表字段;
封装模块,用于根据所述配置信息及所述模型对象类对所述待存储数据列表进行解析与字段映射,将解析与字段映射之后的所述待存储数据列表封装进实体对象列表中;
解析模块,用于对所述实体对象列表进行解析,并将其存储在数据库中。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的数据存储方法。
9.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211629399.0A CN115617819B (zh) | 2022-12-19 | 2022-12-19 | 数据存储方法、系统、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211629399.0A CN115617819B (zh) | 2022-12-19 | 2022-12-19 | 数据存储方法、系统、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115617819A CN115617819A (zh) | 2023-01-17 |
CN115617819B true CN115617819B (zh) | 2023-03-14 |
Family
ID=84879762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211629399.0A Active CN115617819B (zh) | 2022-12-19 | 2022-12-19 | 数据存储方法、系统、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115617819B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117032710B (zh) * | 2023-10-08 | 2024-01-19 | 思创数码科技股份有限公司 | 一种流程表单组合拆分方法及系统 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002093430A1 (en) * | 2001-05-14 | 2002-11-21 | Infomove, Inc. | Method and apparatus for implementing a data management system using a metadata specification |
US7103600B2 (en) * | 2003-03-06 | 2006-09-05 | Thought Inc. | Displayable presentation page and SQL searchable relational data source implementation of a system, method and software for creating or maintaining distributed transparent persistence of complex data objects and their data relationships |
US20080104501A1 (en) * | 2006-10-27 | 2008-05-01 | Sap Ag | Cross-tier intelligent document generation and management |
US8122434B2 (en) * | 2009-05-29 | 2012-02-21 | Invensys Sytems, Inc. | Methods and apparatus for control configuration control objects associated with a track attribute for selecting configuration information |
CN104731814B (zh) * | 2013-12-23 | 2017-12-08 | 北京宸瑞科技股份有限公司 | 数据灵活比对分析系统及方法 |
CN106815267A (zh) * | 2015-12-01 | 2017-06-09 | 中兴通讯股份有限公司 | 数据存储方法和装置 |
CN109710676B (zh) * | 2018-12-26 | 2021-07-06 | 新华三技术有限公司 | Cmdb模型的数据获取方法、装置及电子设备 |
CN110209886A (zh) * | 2019-02-18 | 2019-09-06 | 唯简科技(北京)有限公司 | 一种基于bigtable数据模型构造面向对象的图的存储方式 |
CN112051997A (zh) * | 2020-08-20 | 2020-12-08 | 湖南新航动力信息科技有限公司 | 组件化和参数化的模型架构的建立方法、设备及存储介质 |
CN112052242B (zh) * | 2020-09-02 | 2024-06-04 | 平安科技(深圳)有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN114253939A (zh) * | 2020-09-22 | 2022-03-29 | 京东科技控股股份有限公司 | 一种数据模型的构建方法、装置、电子设备及存储介质 |
CN112464569A (zh) * | 2020-12-10 | 2021-03-09 | 北京明略软件系统有限公司 | 一种机器学习方法及系统 |
CN113822033B (zh) * | 2020-12-23 | 2024-07-16 | 京东科技信息技术有限公司 | 报表的生成方法、装置、设备以及存储介质 |
CN112667415B (zh) * | 2020-12-24 | 2023-11-24 | 思创数码科技股份有限公司 | 数据调用方法、装置、可读存储介质及电子设备 |
CN112800054A (zh) * | 2021-01-08 | 2021-05-14 | 中国石油天然气集团有限公司 | 数据模型的确定方法、装置、设备及存储介质 |
CN112988772B (zh) * | 2021-02-08 | 2023-07-21 | 平安科技(深圳)有限公司 | 行为数据的监控方法、装置、设备及介质 |
CN113076103A (zh) * | 2021-04-20 | 2021-07-06 | 北京恒丰智通系统管理咨询有限公司 | 一种自定义模板生成方法及系统 |
CN114005055A (zh) * | 2021-10-22 | 2022-02-01 | 深圳市商汤科技有限公司 | 算法应用元生成方法、装置、设备及计算机可读存储介质 |
CN114064647A (zh) * | 2021-11-16 | 2022-02-18 | 山东旗帜信息有限公司 | 一种基于流式处理的数据存储方法、设备及介质 |
CN114138748A (zh) * | 2021-12-02 | 2022-03-04 | 中国建设银行股份有限公司 | 数据库映射文件生成方法、装置、设备及存储介质 |
CN114003220B (zh) * | 2021-12-30 | 2022-05-03 | 思创数码科技股份有限公司 | 工作流模型实现方法、系统、可读存储介质及计算机设备 |
-
2022
- 2022-12-19 CN CN202211629399.0A patent/CN115617819B/zh active Active
Non-Patent Citations (3)
Title |
---|
Wu Bin.Study of dynamic modeling method for quartz flexible accelerometer.2016,全文. * |
彭玉婷.基于模型的多源异构数据自适应可视化技术研究.2022,全文. * |
王传栋,黄志球,张江涛,张静.面向工程试验的元数据管理模型研究.2005,(04),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115617819A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367976B (zh) | 基于java反射机制的excel文件数据的导出方法及装置 | |
US20080307006A1 (en) | File mutation method and system using file section information and mutation rules | |
CN112765023B (zh) | 测试用例生成方法、装置 | |
CN113360519B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN110990411B (zh) | 数据结构的生成方法及装置、调用方法及装置 | |
CN108388640B (zh) | 一种数据转换方法、装置以及数据处理系统 | |
CN111813804A (zh) | 一种数据查询方法、装置、电子设备及存储介质 | |
CN111324540B (zh) | 一种接口测试方法及装置 | |
CN115617819B (zh) | 数据存储方法、系统、计算机设备及存储介质 | |
CN108241720B (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN114185867A (zh) | 确认数据一致性的方法、装置和电子设备 | |
CN114091383A (zh) | 测试序列生成方法、装置、系统及相关设备 | |
CN116467975B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112685275A (zh) | 算法策略搜索方法、装置、电子设备及存储介质 | |
CN113157671A (zh) | 一种数据监控方法及装置 | |
CN114816772B (zh) | 基于兼容层运行的应用的排错方法、排错系统及计算设备 | |
CN113419957B (zh) | 基于规则的大数据离线批处理性能容量扫描方法及装置 | |
US7149995B2 (en) | Graphical interface to layout processing components and connections | |
CN115168124A (zh) | 硬盘并发执行多个文件的稳定性测试方法、装置、计算机设备及介质 | |
CN112783683A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113641628A (zh) | 数据质量检测方法、装置、设备及存储介质 | |
CN111914008A (zh) | 工单数据批量导出的方法、装置、电子设备以及介质 | |
CN105989021A (zh) | 一种文件处理方法和装置 | |
CN111078543B (zh) | 系统动态化测试方法及测试装置 | |
CN118051779B (zh) | 用于大模型训练的参数自动搜索方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |