CN101901218A - 一种通用数据入库装置及方法 - Google Patents
一种通用数据入库装置及方法 Download PDFInfo
- Publication number
- CN101901218A CN101901218A CN2009100850240A CN200910085024A CN101901218A CN 101901218 A CN101901218 A CN 101901218A CN 2009100850240 A CN2009100850240 A CN 2009100850240A CN 200910085024 A CN200910085024 A CN 200910085024A CN 101901218 A CN101901218 A CN 101901218A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- data stream
- configuration file
- field
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种通用数据入库装置及方法,该方法包括:根据数据流类型及数据库生成配置文件;根据配置文件建立数据库连接,并建立数据流对应数据结构和数据库中数据表结构的映射关系;之后将接收的数据流写入所述数据库。采用本发明的技术方案,可以解决不同数据结构对应不同数据数据库表结构的映射和入库过程,无缝地解决了安全信息管理系统数据入第三方库的问题,以及其他领域通用数据入库的问题。同时,本发明具有灵活,实现简单,占用资源少,效率高的特征。
Description
技术领域
本发明涉及数据库领域,具体涉及一种通用数据入库装置及方法。
背景技术
在安全信息管理系统中(SIMS:Security Information Manage System),常常需要把采集到的安全信息在第三方厂商的软硬件环境下展现,在实现上表现为把第三方厂商感兴趣的数据入到特定的表中。不同厂商关注的数据千变万化,其自定义的数据库存储结构也是格式多样的,这样就存在一个问题,怎么样才能使安全信息管理系统(SIMS:Security Information Manage System)中的数据方便的转换到第三方数据库中。
目前来说,最通用的做法就是针对不同的第三方厂商的应用,做不同的数据入库模块,这样的直接后果就是代码冗余,管理维护成本太高。
发明内容
本发明要解决的技术问题是提供一种通用的数据入库装置及方法,无缝地解决了安全信息管理系统数据入第三方库的问题。
为了解决上述问题,本发明提供了一种通用数据入库方法,包括:根据数据流类型及数据库生成配置文件;根据配置文件建立数据库连接,并建立数据流对应数据结构和数据库中数据表结构的映射关系;之后将接收的数据流写入所述数据库。
进一步地,所述生成的配置文件包括数据流描述、数据库表结构描述、数据库类型、数据库地址、数据库名称及密码。
进一步地,所述建立数据库连接是指,先根据所述配置文件确定数据库类型、数据库地址、数据库名称及密码,之后根据上述值建立数据库连接。
进一步地,所述根据配置文件的数据流描述,建立数据流对应数据结构和数据库中数据表结构的映射是指,根据配置文件中包含的字段及字段类型,确定这些字段在内存中的线性序列,以及根据配置文件中数据库表结构的描述语句,确定数据库表结构,之后建立入库命令中参数序列和数据结构中各字段的映射关系。
进一步地,所述将接收的数据流写入所述数据库是指,收到数据流后,提取与数据流描述中对应的字段值,利用入库命令将所述字段值插入所述数据库中。
本发明还提供一种通用数据入库装置,所述装置包括:配置文件生成模块、映射模块、存储模块和数据流接收及写入模式;
所述配置文件生成模块用于根据数据流的类型及数据库生成配置文件;
所述映射模块用于读取生成的配置文件,建立数据库连接及建立数据流对应数据结构和数据库中数据表结构的映射;
所述存储模块用于接收并存储入库命令以及入库命令中参数序列与数据流字段的映射关系;
所述数据流接收及写入模块用于将接收的数据流写入所述数据库。
进一步地,所述生成的配置文件包括数据流描述、数据库表结构描述、数据库类型、数据库地址、数据库名称及密码。
进一步地,所述映射模块建立数据库连接是指,映射模块根据所述配置文件确定数据库类型、数据库地址、数据库名称及密码,并根据上述值建立数据库连接。
进一步地,所述映射模块建立数据流对应数据结构和数据库中数据表结构的映射是指,映射模块根据配置文件中包含的字段及字段类型,确定这些字段在内存中的线性序列,以及根据配置文件中数据库表结构的描述语句,确定数据库表结构,之后建立入库命令中参数序列和数据结构中各字段的映射关系。
进一步地,所述流接收及写入模块将接收的数据流写入所述数据库是指,流接收及写入模块接收数据流,提取与数据流描述中对应的字段值,利用入库命令将所述字段值插入所述数据库中。
综上所述,本发明提供一种通用的数据入库装置及方法,可以解决不同数据结构对应不同数据数据库表结构的映射和入库过程,无缝地解决了安全信息管理系统数据入第三方库的问题,以及其他领域通用数据入库的问题。同时,本发明具有灵活,实现简单,占用资源少,效率高的特征。
附图说明
图1为本发明装置结构示意图;
图2为本发明方法流程图。
具体实施方式
针对现有技术的不足,本发明提供一种通用的数据入库装置及方法,通过配置文件把数据结构内容和安全信息管理系统所采集的数据进行关联和映射,使安全信息管理系统所采集的数据可以无缝的传输到第三方应用的自定义数据表中。
本发明提供一种通用数据入库装置,如图1所示,包括配置文件生成模块、映射模块、存储模块和数据流接收及写入模式;
配置文件生成模块用于根据数据流的类型及数据库生成配置文件,配置文件包括数据流描述、数据库表结构描述、数据库类型、数据库地址、数据库名称及密码等信息;
映射模块用于读取生成的配置文件,建立数据库连接及建立数据流对应数据结构和数据库中数据表结构的映射;
映射模块建立数据库连接是指,映射模块根据所述配置文件确定数据库类型、数据库地址、数据库名称及密码,并根据上述值建立数据库连接;
映射模块建立数据流对应数据结构和数据库中数据表结构的映射是指,映射模块根据配置文件中包含的字段及字段类型,确定这些字段在内存中的线性序列,以及根据配置文件中数据库表结构的描述语句,确定数据库表结构,之后建立入库命令中参数序列和数据结构中各字段的映射关系。
映射模块还用于将入库命令及建立的入库命令中参数序列与数据流字段的映射关系发送至存储模块。
存储模块用于接收并存储入库命令以及入库命令中参数序列与数据流字段的映射关系;
数据流接收及写入模块用于将接收的数据流写入数据库,即接收输入的数据流,并提取数据流中的各字段值,利用入库命令(如插入语句)将读取的字段值写入数据库。
本发明提供一种通用数据入库方法,如图2所示,包括以下步骤:
(1)根据数据流的类型及数据库生成具体应用时的配置文件;
配置文件包括数据流描述、数据库表结构描述、数据库类型、数据库地址、数据库名称及密码等信息。
配置文件格式定义了不同类型数据流的数据流描述格式,字段类型的种类,及数据库表结构描述的格式。
根据字段类型列表确定数据流描述中各字段对应的字段类型,常见的字段类型有如表1所示的6种,当然还可以有其他的字段类型,本发明对此不作限制。
表1:字段类型列表
(2)根据配置文件读取建立数据库连接;
该步骤具体为:根据配置文件决定数据库类型,数据库地址以及连接需要的数据库名称、密码等必须信息。程序读取这些值,建立通用数据库连接,建立数据库连接的具体操作同现有技术。不同应用场景可能对应不同的数据库类型。
(3)根据配置文件中数据流的描述,建立数据流对应数据结构和数据库中数据表结构的映射关系。
该步骤具体包括:
(31)先按照配置文件中数据流的描述确定数据流中包含的字段的线性序列,即根据数据流中的字段及字段类型确定这些字段在内存中的线性序列;
(32)根据配置文件中数据库表结构的描述语句,确定数据库表结构,并建立入库命令中参数序列和数据结构中各字段的映射关系,准备数据库插入语句。
数据库表结构的描述语句可以是任意数据定义语句(DDL)或者数据操作语句(DML),只要能反映出数据表的结构都属于本发明关注范围。
(4)接收数据,按照数据流描述对应的数据结构定义,提取和数据表结构定义中对应的字段值,写入数据库。
该步骤具体为:开始接收数据流,按照步骤(3)中数据流和数据结构的映射关系,读取各字段值,利用入库命令(如插入语句)将读取的字段值写入数据库,完成本次数据插入操作,等待下一次数据流输入,依次循环。
由以上发明所提供的技术方案可以看出,通过配置文件对数据流中的数据结构进行描述后,本发明可以实现任意内置数据类型的入库操作。因此,本发明可以解决不同数据结构对应不同数据数据库表结构的映射和入库过程,无缝地解决了安全信息管理系统数据入第三方库的问题,以及其他领域通用数据入库的问题。同时,本发明具有灵活,实现简单,占用资源少,效率高的特征。
下面结合实例对本发明做进一步说明,实例以Oracle数据库为基础,详细说明本发明的过程。
步骤一,根据数据流及数据库生成配置文件,配置文件包括数据流描述、数据库表结构描述、数据库类型、数据库地址、数据库名称及密码等信息。
数据流描述如表2所示,数据表结构描述如表3所示。
步骤二,通过读取配置文件,确定数据库类型(Oracle)、数据库地址,连接该数据库所需的数据库名称、密码等,并根据上述值建立对Oracle数据库的连接。
步骤三,根据配置文中数据流的描述确定数据流中包含的字段的线性序列,并根据配置文中数据库表的结构描述语句,确定数据库表的结构,其中包含入库命令,然后建立入库命令中参数序列和数据流中各字段的映射关系。
步骤四,接收一条数据,提取其中与数据流描述中对应的字段值;
步骤五,利用SQL插入语句将提取的字段值写入数据库。
之后等待新的数据流,重复步骤四及步骤五。
表2:数据流描述
表3:数据表结构描述
本发明的目的是用固定的通用入库模块解决不同数据流入不同数据库的问题。本发明有以下特点:(1)数据流中的字段通过配置文件来描述;(2)数据库中表结构也通过配置文件来描述;(3)使用同样的代码来解决不同业务数据的入库问题,该代码指通用入库的所有程序代码,即配置文件具有固定的格式,包括读取配置,入库等等,只是配置文件的具体内容和具体应用有关系,比如表的结构不同,数据流内容不同等。
使用传统的数据入库方法,需要针对不同的应用开发不同的入库模块,严重影响了系统的可扩展行和健壮性,采用本发明实施方案,对于不同的应用,修改配置文件就可以达到通用数据入库的目的。
以上为本发明的最佳实施案例,并不用以限制本发明的保护范围。
Claims (10)
1.一种通用数据入库方法,包括:根据数据流类型及数据库生成配置文件;根据配置文件建立数据库连接,并建立数据流对应数据结构和数据库中数据表结构的映射关系;之后将接收的数据流写入所述数据库。
2.如权利要求1所述的方法,其特征在于:
所述生成的配置文件包括数据流描述、数据库表结构描述、数据库类型、数据库地址、数据库名称及密码。
3.如权利要求2所述的方法,其特征在于:
所述建立数据库连接是指,先根据所述配置文件确定数据库类型、数据库地址、数据库名称及密码,之后根据上述值建立数据库连接。
4.如权利要求2所述的方法,其特征在于:
所述根据配置文件的数据流描述,建立数据流对应数据结构和数据库中数据表结构的映射是指,根据配置文件中包含的字段及字段类型,确定这些字段在内存中的线性序列,以及根据配置文件中数据库表结构的描述语句,确定数据库表结构,之后建立入库命令中参数序列和数据结构中各字段的映射关系。
5.如权利要求1所述的方法,其特征在于:
所述将接收的数据流写入所述数据库是指,收到数据流后,提取与数据流描述中对应的字段值,利用入库命令将所述字段值插入所述数据库中。
6.一种通用数据入库装置,其特征在于,所述装置包括:配置文件生成模块、映射模块、存储模块和数据流接收及写入模式;
所述配置文件生成模块用于根据数据流的类型及数据库生成配置文件;
所述映射模块用于读取生成的配置文件,建立数据库连接及建立数据流对应数据结构和数据库中数据表结构的映射;
所述存储模块用于接收并存储入库命令以及入库命令中参数序列与数据流字段的映射关系;
所述数据流接收及写入模块用于将接收的数据流写入所述数据库。
7.如权利要求6所述的装置,其特征在于:
所述生成的配置文件包括数据流描述、数据库表结构描述、数据库类型、数据库地址、数据库名称及密码。
8.如权利要求7所述的装置,其特征在于:
所述映射模块建立数据库连接是指,映射模块根据所述配置文件确定数据库类型、数据库地址、数据库名称及密码,并根据上述值建立数据库连接。
9.如权利要求7所述的装置,其特征在于:
所述映射模块建立数据流对应数据结构和数据库中数据表结构的映射是指,映射模块根据配置文件中包含的字段及字段类型,确定这些字段在内存中的线性序列,以及根据配置文件中数据库表结构的描述语句,确定数据库表结构,之后建立入库命令中参数序列和数据结构中各字段的映射关系。
10.如权利要求6所述的装置,其特征在于:
所述流接收及写入模块将接收的数据流写入所述数据库是指,流接收及写入模块接收数据流,提取与数据流描述中对应的字段值,利用入库命令将所述字段值插入所述数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100850240A CN101901218A (zh) | 2009-05-27 | 2009-05-27 | 一种通用数据入库装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100850240A CN101901218A (zh) | 2009-05-27 | 2009-05-27 | 一种通用数据入库装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101901218A true CN101901218A (zh) | 2010-12-01 |
Family
ID=43226761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100850240A Pending CN101901218A (zh) | 2009-05-27 | 2009-05-27 | 一种通用数据入库装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101901218A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819539A (zh) * | 2011-09-28 | 2012-12-12 | 金蝶软件(中国)有限公司 | 数据快速录入的方法及系统 |
CN103544306A (zh) * | 2013-11-01 | 2014-01-29 | 广东威创视讯科技股份有限公司 | 一种网站支持多语言显示的方法与装置 |
CN105426541A (zh) * | 2015-12-23 | 2016-03-23 | 北京奇虎科技有限公司 | 一种通用数据的存储方法和装置 |
CN105608223A (zh) * | 2016-01-12 | 2016-05-25 | 北京中交兴路车联网科技有限公司 | 针对kafka的Hbase数据库的入库方法和系统 |
CN106250495A (zh) * | 2016-08-02 | 2016-12-21 | 上海自仪泰雷兹交通自动化系统有限公司 | 一种信号系统轨道数据库的自动生成方法 |
CN107463610A (zh) * | 2017-06-27 | 2017-12-12 | 北京小度信息科技有限公司 | 一种数据入库方法及装置 |
CN108154569A (zh) * | 2017-12-27 | 2018-06-12 | 广州奥格智能科技有限公司 | 一种基于对象模型化配置的巡查采集方法 |
CN110609863A (zh) * | 2019-08-26 | 2019-12-24 | 北京杰控科技有限公司 | 一种工业大数据的存储方法及装置 |
CN113051266A (zh) * | 2019-12-27 | 2021-06-29 | 浙江大搜车软件技术有限公司 | 数据处理方法、装置、计算机可读存储介质和计算机设备 |
CN116034351A (zh) * | 2020-09-03 | 2023-04-28 | 格步计程车控股私人有限公司 | 用于维护数据库的数据库系统和方法 |
-
2009
- 2009-05-27 CN CN2009100850240A patent/CN101901218A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819539B (zh) * | 2011-09-28 | 2015-12-16 | 金蝶软件(中国)有限公司 | 数据快速录入的方法及系统 |
CN102819539A (zh) * | 2011-09-28 | 2012-12-12 | 金蝶软件(中国)有限公司 | 数据快速录入的方法及系统 |
CN103544306A (zh) * | 2013-11-01 | 2014-01-29 | 广东威创视讯科技股份有限公司 | 一种网站支持多语言显示的方法与装置 |
CN105426541B (zh) * | 2015-12-23 | 2019-03-08 | 北京奇虎科技有限公司 | 一种通用数据的存储方法和装置 |
CN105426541A (zh) * | 2015-12-23 | 2016-03-23 | 北京奇虎科技有限公司 | 一种通用数据的存储方法和装置 |
CN105608223B (zh) * | 2016-01-12 | 2019-04-30 | 北京中交兴路车联网科技有限公司 | 针对kafka的Hbase数据库的入库方法和系统 |
CN105608223A (zh) * | 2016-01-12 | 2016-05-25 | 北京中交兴路车联网科技有限公司 | 针对kafka的Hbase数据库的入库方法和系统 |
CN106250495A (zh) * | 2016-08-02 | 2016-12-21 | 上海自仪泰雷兹交通自动化系统有限公司 | 一种信号系统轨道数据库的自动生成方法 |
CN107463610A (zh) * | 2017-06-27 | 2017-12-12 | 北京小度信息科技有限公司 | 一种数据入库方法及装置 |
CN107463610B (zh) * | 2017-06-27 | 2021-01-26 | 北京星选科技有限公司 | 一种数据入库方法及装置 |
CN108154569A (zh) * | 2017-12-27 | 2018-06-12 | 广州奥格智能科技有限公司 | 一种基于对象模型化配置的巡查采集方法 |
CN110609863A (zh) * | 2019-08-26 | 2019-12-24 | 北京杰控科技有限公司 | 一种工业大数据的存储方法及装置 |
CN113051266A (zh) * | 2019-12-27 | 2021-06-29 | 浙江大搜车软件技术有限公司 | 数据处理方法、装置、计算机可读存储介质和计算机设备 |
CN116034351A (zh) * | 2020-09-03 | 2023-04-28 | 格步计程车控股私人有限公司 | 用于维护数据库的数据库系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101901218A (zh) | 一种通用数据入库装置及方法 | |
CN100388675C (zh) | 一种网管系统中实现对前台数据配置的方法 | |
CN101661509B (zh) | 一种生成数据库表主键字段的方法及装置 | |
CN109885614B (zh) | 一种数据同步的方法和装置 | |
CN102982274A (zh) | 智能终端系统的管理方法和智能终端 | |
CN102508898A (zh) | 一种基于云计算的数据访问方法和数据库系统 | |
CN105100051A (zh) | 实现数据资源访问权限控制的方法及系统 | |
CN103970736A (zh) | 一种将Excel表格转换成数据库表的方法 | |
CN102708203A (zh) | 一种基于xml元数据的数据库动态管理方法 | |
CN104077420A (zh) | 一种数据导入HBase数据库的方法和装置 | |
CN101772043B (zh) | 局数据核查方法和装置 | |
CN104298736A (zh) | 数据集合连接方法、装置及数据库系统 | |
CN101697136A (zh) | 一种资源控制方法和装置 | |
CN106598548A (zh) | 存储单元读写冲突的解决方法及装置 | |
CN101604290B (zh) | 一种后台模块测试方法和后台模块测试系统 | |
CN105162727B (zh) | 一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法 | |
CN116680270A (zh) | 数据表转换方法、装置和存储介质 | |
CN102508690B (zh) | 一种嵌入式设备的命令行的保存方法和解码方法 | |
CN112328594B (zh) | 一种嵌入式装置模型数据管理方法及装置 | |
CN104050251B (zh) | 一种文件管理方法及管理系统 | |
CN103729455B (zh) | 一种基于主副本存储模式的主数据存储方法 | |
CN105550220A (zh) | 一种异构系统的取数的方法及装置 | |
CN103425694A (zh) | 关系型数据的搜索方法和装置 | |
CN101986307B (zh) | 一种mime类型插件的生成方法、系统及浏览器 | |
CN116466915A (zh) | 一种基于MVP架构的iOS开发框架构建方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101201 |