CN105718485B - 一种将数据录入数据库的方法及装置 - Google Patents
一种将数据录入数据库的方法及装置 Download PDFInfo
- Publication number
- CN105718485B CN105718485B CN201410735141.8A CN201410735141A CN105718485B CN 105718485 B CN105718485 B CN 105718485B CN 201410735141 A CN201410735141 A CN 201410735141A CN 105718485 B CN105718485 B CN 105718485B
- Authority
- CN
- China
- Prior art keywords
- forms data
- detailed forms
- database
- data
- cell
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种将数据录入数据库的方法及装置,在将详单数据录入到数据库时,将详单数据中的多个字段录入到数据库的一个单元格中,减小了详单数据在数据库中所占的单元格数量,从而使得在采用分布式数据库方式存储数据库中每个单元格的数据时,减小了存储详单数据占用的存储空间,节省存储成本。所述将数据录入到数据库的方法及装置,包括:获取用户设备的标识以及用于描述该用户设备处理事件的详单数据,该详单数据包括多个用于描述事件信息的字段;将所述用户设备的标识与所述详单数据的对应关系录入数据库中,其中,所述详单数据中的多个字段录入到该数据库的一个单元格中。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种将数据录入数据库的方法及装置。
背景技术
现有的详单查询系统采用传统的小型机+阵列的实现方式,通过两台主机处理不同号段的详单处理、查询服务,以减小单台主机的处理压力,并且通过完全公平调度程序(Completely Fair Scheduler,CFS)软件提供不同主机共享文件系统,以解决查询详单数据的统一管理,具体来说:系统通过索引+查询来实现整体的查询功能。为满足数据查询的高速和并发要求,现有系统索引以文件形式存储管理,同时为保证查询时文件及文件内容的快速定位,为文件及文件内容创建二级索引,一级索引对文件提供快速速定位,二级索引对文件内容提供快速的定位。
但是,现有详单查询模式在系统扩展上存在有如下缺点:扩容复杂,并且需要长时间停止查询服务;服务器、存储等价格昂贵;没有完备的容灾方案。
以上的几个缺点也是集中式系统架构普遍存在的缺点,而采用分布式系统相比有明显的几个优点:分布式计算,充分利用计算机资源;分布式部署,数据容灾;多服务器响应,处理速度快;采用刀片设备替换小型机+存储架构,节约投资成本。
传统的分布式系统涉及到两个分布式架构,分别为分布式文件系统(HadoopDistributed File System,HDFS)和分布式数据库(Hadoop database,HBASE)。
HDFS是分布式系统基础架构(Hadoop)的组成部分,以流式数据访问模式来存储千兆字节(Gigabyte,GB)到太字节(Terabyte,TB)级的超大文件,可以运行于X86集群中,拥有高容错性和高吞吐量的特点,HDFS中每份数据存储拥有两个备份,并动态对数据备份进行优化调整,这样可以避免硬件故障带来的存储丢失。HDFS中的名字节点(NameNode)和数据节点(DataNode)以一主多从的方式对集群进行管理。当系统需要扩容时,无需停止文件系统,只需增加机器,安装并启动DataNode节点,DataNode节点发送新地址给NameNode,当NameNode发现新的DataNode后,即可更新集群存储容量,完成对系统的扩容。
HBASE是基于分布式文件系统HDFS的,其利用低成本的硬件提供高性能的数据加载、索引和查询能力,用于海量、多样(结构化、非结构化)、实时的大数据存取场景。分布式数据库中数据存储在最底层的分布式文件系统中。
分布式数据库也是一主多从的结构,当客户端发起数据库查询后,主服务器会通知客户端,它需要的数据在哪个从服务器中,然后客户端直接连接到从服务器。从服务器在它所管理的各个数据分区中,准确定位客户端查询的数据是在哪个数据文件中,然后将读取到的数据返回给客户端。数据文件中存储的是键值对类型的数据。
数据文件的存储结构如图1所示,包括:KEY的值、值长度、索引长度、索引值、列簇长度、列簇名、列名、时间戳、KEY类型、列的值和列的版本。对于数据库中任一单元格,按照HBASE的存储结构,其占用的空间序列如表1所示:
表1
现对数据库中每个单元格采用HBASE的存储结构存储时占用的存储空间进行分析:
任一单元格占用存储的大小为:
由两部分组成,其中为可变因素,包括列簇名Column Family,列名Column Qualifier和列的值Value。
先假设Column Family设置为2个字节,列名设置为6个字节(例如:以YYYYMMDD作
为列名),存储大小的计算公式变为
这样多条详单数据所占存储的公式:详单数据数量*每个详单数据录入数据库占用的单元格数*(51+B3),其中,B3为详单数据中每个字段的字节数。
HBASE有一个特性,当某个单元格值为空时,不占用任何存储空间,而传统数据库一般的单元格是定长的,不论单元格是否为空都需要占用存储空间。因此,HBASE对于稀疏数据而言,数据库中数据占用的存储空间不会比原始数据大很多。对于详单数据而言,详单的每个字段几乎都不为空,难以利用HBASE处理稀疏数据的优点。
另外,现有技术中在将详单数据录入数据库时,详单数据的每个字段均占用数据库中的一个单元格,如此一来,在采用HBASE存储结构存储每个单元格的数据时,数据库中每个单元格的数据均需要占用51+B3字节的存储空间,存储详单数据占用的存储空间将远大于原始详单数据所需存储空间。
综上所述,现有技术中将详单数据录入数据库时,详单数据的每个字段均占用数据库中的一个单元格,当采用HBASE的方式对数据库中每一单元格的数据进行存储时,存储详单数据占用的存储空间远大于原始详单数据所需存储空间。
发明内容
本发明实施例提供了一种将数据录入数据库的方法及装置,在将详单数据录入到数据库时,将详单数据中的多个字段录入到数据库的一个单元格中,减小了详单数据在数据库中所占的单元格数量,从而使得在采用分布式数据库方式存储数据库中每个单元格的数据时,减小了存储详单数据占用的存储空间,节省存储成本。
本发明实施例提供的一种将数据录入数据库的方法,包括:获取用户设备的标识以及用于描述该用户设备处理事件的详单数据,该详单数据包括多个用于描述事件信息的字段;将所述用户设备的标识与所述详单数据的对应关系录入数据库中,其中,将所述详单数据中的多个字段录入到该数据库的一个单元格中。
本发明实施例提供的上述方法中,在将详单数据录入到数据库时,通过将详单数据中的多个字段录入到数据库的一个单元格中,与现有技术中在将详单数据录入数据库时,详单数据的每个字段占用一个单元格相比,减小了详单数据在数据库中所占的单元格数量,从而当采用分布式数据库方式存储数据库中每个单元格的数据时,减小了存储详单数据占用的存储空间,节省存储成本。
在一种可能的实施方式中,本发明实施例提供的上述方法中,将所述详单数据中的多个字段录入到该数据库的一个单元格中,包括:将所述详单数据中的所有字段全部录入到所述数据库的一个单元格中。
在一种可能的实施方式中,本发明实施例提供的上述方法中,所述用户设备的标识对应N条详单数据,且N为大于1的正整数。
本发明实施例提供的上述方法中,在将详单数据录入数据库时,当同一用户设备的标识对应N条详单数据需要录入数据库时,通过将所述N条详单数据录入到所述数据库的同一个单元格中,与现有技术中在将详单数据录入数据库时,详单数据的每个字段占用一个单元格相比,大大减小了详单数据在数据库中所占的单元格数量,从而当采用分布式数据库方式存储数据库中每个单元格的数据时,减小了存储详单数据占用的存储空间,节省存储成本。
在一种可能的实施方式中,本发明实施例提供的上述方法中,将所述N条详单数据录入到所述数据库的同一个单元格中,具体包括:以N条详单数据中任一详单数据作为第一条详单数据,将该第一条详单数据中所有字段的值,以及第n条详单数据中的相关字段的索引及对应的值录入到所述数据库的同一个单元格中,n的取值范围是[2,N-1];其中,第n条详单数据中的相关字段的索引及对应的值,包括:特定字段的索引及对应的值,该特定字段的值与第n-1条详单数据中同一字段的值不同,该特定字段的索引用于指示该特定字段对应第n-1条详单数据中的同一字段的位置。
在一种可能的实施方式中,本发明实施例提供的上述方法中,将所述详单数据中的多个字段录入到该数据库的一个单元格中,包括:若所述详单数据中的多个字段的值占用的总的存储空间大于预设阈值,则通过预设算法对所述多个字段的值进行计算,记录计算得到的值到该数据库的一个单元格中。
本发明实施例提供的上述方法中,若录入数据库单个单元格中多个字段占用的存储空间大于预设阈值,通过预设算法对多个字段进行计算,使用对多个字段计算得到的值代替多个字段录入到数据库中,以避免单个单元格中数据过大造成的读取延迟问题,提高查询响应速度。
本发明实施例提供的一种将数据录入数据库的装置,包括:获取单元,用于获取用户设备的标识以及用于描述该用户设备处理事件的详单数据,该详单数据包括多个用于描述事件信息的字段;处理单元,连接至所述获取单元,用于将所述用户设备的标识与所述详单数据的对应关系录入数据库中,其中,将所述详单数据中的多个字段录入到该数据库的一个单元格中。
本发明实施例提供的上述装置中,在将详单数据录入到数据库时,通过将详单数据中的多个字段录入到数据库的一个单元格中,与现有技术中在将详单数据录入数据库时,详单数据的每个字段占用一个单元格相比,减小了详单数据在数据库中所占的单元格数量,从而当采用分布式数据库方式存储数据库中每个单元格的数据时,减小了存储详单数据占用的存储空间,节省存储成本。
在一种可能的实施方式中,本发明实施例提供的上述装置中,将所述详单数据中的多个字段录入到该数据库的一个单元格中,包括:将所述详单数据中的所有字段全部录入到所述数据库的一个单元格中。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述用户设备的标识对应N条详单数据,且N为大于1的正整数。
本发明实施例提供的上述装置中,在将详单数据录入到数据库时,通过将详单数据中的多个字段录入到数据库的一个单元格中,与现有技术中在将详单数据录入数据库时,详单数据的每个字段占用一个单元格相比大大减小了详单数据在数据库中所占的单元格数量,从而当采用分布式数据库方式存储数据库中每个单元格的数据时,减小了存储详单数据占用的存储空间,节省存储成本。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述处理单元将所述N条详单数据录入到所述数据库的同一个单元格中,具体包括:以N条详单数据中任一详单数据作为第一条详单数据,将该第一条详单数据中所有字段的值,以及第n条详单数据中的相关字段的索引及对应的值录入到所述数据库的同一个单元格中,n的取值范围是[2,N-1];其中,第n条详单数据中的相关字段的索引及对应的值,包括:特定字段的索引及对应的值,该特定字段的值与第n-1条详单数据中同一字段的值不同,该特定字段的索引用于指示该特定字段对应第n-1条详单数据中的同一字段的位置。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述处理单元将所述详单数据中的多个字段录入到该数据库的一个单元格中,包括:若所述详单数据中的多个字段的值占用的总的存储空间大于预设阈值,则通过预设算法对所述多个字段的值进行计算,记录计算得到的值到该数据库的一个单元格中。
本发明实施例提供的上述装置中,若录入数据库单个单元格中多个字段占用的存储空间大于预设阈值,通过预设算法对多个字段进行计算,使用对多个字段计算得到的值代替多个字段录入到数据库中,以避免单个单元格中数据过大造成的读取延迟问题,提高查询响应速度。
附图说明
图1为现有技术中分布式数据库HBASE中数据文件的存储结构示意图;
图2为本发明实施例提供的一种将数据录入数据库的方法的流程示意图;
图3为本发明实施例提供的一种将数据录入数据库的装置的结构示意图。
具体实施方式
下面结合附图,对本发明实施例提供的一种将数据录入数据库的方法及装置的具体实施方式进行详细地说明。
本发明实施例提供的将数据录入数据库的方法,在将数据录入数据库之后,采用分布式存储的方式存储数据库中每个单元格中的数据,实现了详单数据的分布式存储,有多个容灾备份,数据零丢失;详单数据由多个数据库服务器提供服务,响应速度快;分布式数据库最底层采用分布式文件系统存储数据,详单数据存储在X86机器上,成本较低,且系统扩容时不需要停止服务。
在网络侧,本发明实施例提供的一种将数据录入数据库的方法,如图2所示,包括:
步骤202,获取用户设备的标识以及用于描述该用户设备处理事件的详单数据,该详单数据包括多个用于描述事件信息的字段;
步骤204,将用户设备的标识与详单数据的对应关系录入数据库中,其中,将详单数据中的多个字段录入到该数据库的一个单元格中。
本发明实施例提供的方法中,在将详单数据录入到数据库时,通过将详单数据中的多个字段录入到数据库的一个单元格中,与现有技术中在将详单数据录入数据库时,详单数据的每个字段占用一个单元格相比,减小了详单数据在数据库中所占的单元格数量,从而当采用分布式数据库方式存储数据库中每个单元格的数据时,减小了存储详单数据占用的存储空间,节省存储成本。
具体实施时,用户设备的标识用于区分不同的用户设备,例如:可以采用用户设备的手机号码。详单数据用于描述用户设备的处理事件,作为较为具体的实施例,用户设备A在10:00时给用户设备B拨了一通电话,通话时间1分钟,则服务器为用户设备A生成一条详单数据,其中,包括描述本次通话的多个字段,例如:主叫方号码、被叫方号码、事件类型、通话时间、漫游信息等。
具体实施时,周期性将用户设备的标识与详单数据的对应关系录入数据库中,用户设备的标识为索引,该用户设备的标识可以与多条详单数据对应,也即同一用户设备标识下,可以存储该用户设备的多条详单数据,其中,详单数据中的多个字段录入到数据库的一个单元格中。
作为较为优选的实施例,将详单数据中的多个字段录入到该数据库的一个单元格中,包括:将详单数据中的所有字段全部录入到数据库的一个单元格中。
作为较为具体的实施例,下面以三条详单数据为例,进行说明。
详单数据一:
134889090xx;11;1;1800;384;20120720001750;0;0;0;0;571;2;0;;2;ZJJC.ZJ;999999;70002049;;77EF;252887249;0;;;;;0;0;0;1;0;201207
详单数据二:
134889090xx;11;1;1800;384;20120720001750;0;0;0;0;570;2;0;;2;ZJJC.ZJ;999999;70002049;;77EF;252887249;0;;;;;0;0;0;1;0;201207
详单数据三:
134889090xx;11;1;1800;384;20120720001750;0;0;0;0;571;2;0;;2;ZJJC.ZJ;999999;70002049;;77EF;252887249;0;;;;;0;0;0;2;0;201207
以上三条详单数据中,每条详单数据包括31个字段(不包括手机号码),三条详单数据共计366个字节,现有技术中详单数据的每个字段录入到数据库的一个单元格中,采用HBASE存储结构存储数据库中每个单元格的数据时,需要的存储空间的计算公式为:详单数据数量*每个详单数据录入数据库占用的单元格数*(51+B3),其中,B3为数据库中每个单元格的字节数,在以现有技术的录入方式将详单数据录入数据库之后,存储详单数据时占用的存储空间为:3*31*51+366=5109字节,所需存储空间为原始三条详单数据所需存储空间的13.9倍。
本发明实施例对详单数据录入数据库的方法进行改进,具体有两种改进方式。
改进一、将详单数据中的多个字段录入到该数据库的一个单元格中,尤其是将详单数据中的所有字段全部录入到数据库的一个单元格中时,存储时占用的存储空间为:3*1*51+366=519字节,所需存储空间为原始三条详单数据所需存储空间的1.41倍。
改进二、用户设备的标识对应N条详单数据,且N为大于1的正整数,将N条详单数据录入到数据库的同一个单元格中。
本发明实施例提供的方法中,在将详单数据录入数据库时,当同一用户设备的标识对应N条详单数据需要录入数据库时,通过将N条详单数据录入到数据库的同一个单元格中,与现有技术中在将详单数据录入数据库时,详单数据的每个字段占用一个单元格相比,大大减小了详单数据在数据库中所占的单元格数量,从而当采用分布式数据库方式存储数据库中每个单元格的数据时,减小了存储详单数据占用的存储空间,节省存储成本。
在一种可能的实施方式中,本发明实施例提供的方法中,将N条详单数据录入到数据库的同一个单元格中,具体包括:以N条详单数据中任一详单数据作为第一条详单数据,将该第一条详单数据中所有字段的值,以及第n条详单数据中的相关字段的索引及对应的值录入到数据库的同一个单元格中,n的取值范围是[2,N-1];其中,第n条详单数据中的相关字段的索引及对应的值,包括:特定字段的索引及对应的值,该特定字段的值与第n-1条详单数据中同一字段的值不同,该特定字段的索引用于指示该特定字段对应第n-1条详单数据中的同一字段的位置。
需要说明的是,当同一用户设备标识对应多条详单数据需要录入到数据库中时,任意选取一条详单数据作为第一条详单数据,此处,选取不需要设定规则,可以任意选取。
同一条详单数据的各个字段之间使用第一分隔符分割,N个详单数据之间使用第二分隔符分割,例如:第一分隔符可以是“,”、“;”、“、”、“'”等,第二分隔符可以是“,”、“;”、“、”、“'”等,当然,本领域技术人员应当理解的是,第一分隔符与第二分隔符不能同时使用同一种符号。
具体实施时,针对第n条详单数据:
若第n条详单数据与第n-1条详单数据相同字段位置处的值相同,则第n条详单数据中该字段位置处的值不做记录;若第n条详单数据与第n-1条详单数据相同字段位置处的值不同,则记录该字段位置以及第n条详单数据中该字段位置处的值;也即记录该字段的索引及对应的值。
作为较为具体的实施例,仍以详单数据一、详单数据二、详单数据三为例,将三条详单数据录入到数据库的一个单元格中时,例如:以详单数据一为第一条详单数据,详单数据二为第二条详单数据,详单数据三为第三条详单数据,则保留详单数据一的所有字段的值,详单数据二与详单数据一相比,仅第10个字段的值由571变化为570,详单数据二以详单数据一为基础,记录特定字段的索引及对应的值,也即详单数据二仅记录10-570,其中,10为特定字段的索引,570为该特定字段的索引对应的值。同理,详单数据三与详单数据二相比,第10个字段的值由570变化为571,第29个字段的值由1变为2,则记录为10-570;29-2。对详单数据一、详单数据二、详单数据三进行处理,处理结果如下:11;1;1800;384;20120720001750;0;0;0;0;571;2;0;;2;ZJJC.ZJ;999999;70002049;;77EF;252887249;0;;;;;0;0;0;1;0;201207'10-570'10-571;29-2,其中,第一分隔符为“;”,第二分隔符为“'”。
对三条详单数据进行处理并将三条详单数据录入到数据库的一个单元格中,则在存储时占用的存储空间为:1*1*51+129=180字节,所需存储空间为原始三条详单数据所需存储空间的49%。
原始详单数据、详单数据录入数据库方式、以及本发明实施例的改进一和改进二的录入方式所占用的存储空间对比,如表2所示:
表2
以上仅用三条详单做了一个比较,为了测试本发明实施例两种将数据录入数据库的改进方式的效果,基于真实详单数据大小为141,697,348K的详单数据,分别存储在oracle数据库,HBASE后,进行比较。
如果存储在oracle数据库中,所需的空间为184,206,552K;按现有录入数据库方式录入存储后,所需存储空间为1105,239,314K;按本发明实施例改进一方式录入存储后,所占存储需要4,7232,449K;按本发明实施例改进二方式录入存储后,所需空间为13,864,304K,具体对比如表3所示。
表3
从表3中的数据可以看出,通过对将详单数据录入数据库的方式进行改进,占用的存储空间不但没有膨胀,而且缩小到原来的十分之一。这意味着原始详单数据如果是10T,按现有技术的录入方式存储,需要100T的数据,而采用本发明实施例的改进二方式将详单数据录入数据库时后,仅需要1T(按分布式文件系统缺省备份三份,则为3T)就可以存储所有详单数据,节省了存储空间,大大减小了存储成本。
在一种可能的实施方式中,本发明实施例提供的方法中,将详单数据中的多个字段录入到该数据库的一个单元格中,包括:若详单数据中的多个字段的值占用的总的存储空间大于预设阈值,则通过预设算法对多个字段的值进行计算,记录计算得到的值到该数据库的一个单元格中。
需要说明的是,此处的多个字段可以是一条详单数据中的多个字段,也可以是对多条详单数据进行处理后的数据中的多个字段。
具体实施时,若录入数据库单个单元格中多个字段占用的总的存储空间大于预设阈值,通过预设算法对多个字段进行计算,使用对多个字段计算得到的值代替多个字段录入到数据库中,以避免单个单元格中数据过大造成的读取延迟问题,提高查询响应速度。其中,预设算法可以是哈希(hash)算法,预设阈值可以是10兆(MB),即当多个字段占用的总的存储空间大小小于或等于10MB时,将多个字段录入到数据库的一个单元格中,当多个字段占用的总的存储空间大小大于10MB时,对多个字段做hash算法,将计算得到的hash值录入到数据库的一个单元格中。
当然,需要说明的是,以多个字段所占用的存储空间来限定录入数据库每个单元格中的多个字段仅仅是本发明实施例的一种方式,本领域技术人员应当理解的是,在本发明的其它实施例中,可以以多个字段的其它指标来限定录入数据库每个单元格中的多个字段,例如:若录入数据库单个单元格中的字段个数小于1000时,将多个字段录入到数据库的一个单元格中,当录入数据库单个单元格中的字段个数大于或等于1000时,对多个字段做MD5hash算法,以详单数据的Key值(例如:用户设备标识)+hash值作为索引,对详单数据做拆分存储。
本发明实施例提供的一种将数据录入数据库的装置,如图3所示,包括:获取单元302,用于获取用户设备的标识以及用于描述该用户设备处理事件的详单数据,该详单数据包括多个用于描述事件信息的字段;处理单元304,连接至获取单元302,用于将所述用户设备的标识与所述详单数据的对应关系录入数据库中,其中,将所述详单数据中的多个字段录入到该数据库的一个单元格中。
本发明实施例提供的装置中,在将详单数据录入到数据库时,通过将详单数据中的多个字段录入到数据库的一个单元格中,与现有技术中在将详单数据录入数据库时,详单数据的每个字段占用一个单元格相比,减小了详单数据在数据库中所占的单元格数量,从而当采用分布式数据库方式存储数据库中每个单元格的数据时,减小了存储详单数据占用的存储空间,节省存储成本。
在一种可能的实施方式中,本发明实施例提供的装置中,将所述详单数据中的多个字段录入到该数据库的一个单元格中,包括:将所述详单数据中的所有字段全部录入到所述数据库的一个单元格中。
在一种可能的实施方式中,本发明实施例提供的装置中,所述用户设备的标识对应N条详单数据,且N为大于1的正整数。
本发明实施例提供的装置中,在将详单数据录入到数据库时,通过将详单数据中的多个字段录入到数据库的一个单元格中,与现有技术中在将详单数据录入数据库时,详单数据的每个字段占用一个单元格相比大大减小了详单数据在数据库中所占的单元格数量,从而当采用分布式数据库方式存储数据库中每个单元格的数据时,减小了存储详单数据占用的存储空间,节省存储成本。
在一种可能的实施方式中,本发明实施例提供的装置中,处理单元304将所述N条详单数据录入到所述数据库的同一个单元格中,具体包括:以N条详单数据中任一详单数据作为第一条详单数据,将该第一条详单数据中所有字段的值,以及第n条详单数据中的相关字段的索引及对应的值录入到所述数据库的同一个单元格中,n的取值范围是[2,N-1];其中,第n条详单数据中的相关字段的索引及对应的值,包括:特定字段的索引及对应的值,该特定字段的值与第n-1条详单数据中同一字段的值不同,该特定字段的索引用于指示该特定字段对应第n-1条详单数据中的同一字段的位置。
在一种可能的实施方式中,本发明实施例提供的装置中,处理单元304将所述详单数据中的多个字段录入到该数据库的一个单元格中,包括:若所述详单数据中的多个字段的值占用的总的存储空间大于预设阈值,则通过预设算法对所述多个字段的值进行计算,记录计算得到的值到该数据库的一个单元格中。
本发明实施例提供的装置中,若录入数据库单个单元格中多个字段占用的存储空间大于预设阈值,通过预设算法对多个字段进行计算,使用对多个字段计算得到的值代替多个字段录入到数据库中,以避免单个单元格中数据过大造成的读取延迟问题,提高查询响应速度。
本发明实施例提供的将数据录入数据库的装置中,获取单元302可以采用接收器等,处理单元304可以采用CPU处理器等。
综上所述,本发明实施例提供的一种将数据录入数据库的方法及装置,在将详单数据录入到数据库时,通过将详单数据中的多个字段录入到数据库的一个单元格中,减小了详单数据在数据库中所占的单元格数量,从而当采用分布式数据库方式存储数据库中每个单元格的数据时,减小了存储详单数据占用的存储空间,节省存储成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种将数据录入数据库的方法,其特征在于,包括:
获取用户设备的标识以及用于描述该用户设备处理事件的详单数据,该详单数据包括多个用于描述事件信息的字段;
将所述用户设备的标识与所述详单数据的对应关系录入数据库中,其中,将所述详单数据中的多个字段录入到该数据库的一个单元格中;
所述用户设备的标识对应N条详单数据,且N为大于1的正整数;
将所述N条详单数据录入到所述数据库的同一个单元格中,具体包括:以N条详单数据中任一详单数据作为第一条详单数据,将该第一条详单数据中所有字段的值,以及第n条详单数据中的相关字段的索引及对应的值录入到所述数据库的同一个单元格中,n的取值范围是[2,N-1];
第n条详单数据中的相关字段的索引及对应的值,包括:
特定字段的索引及对应的值,该特定字段的值与第n-1条详单数据中同一字段的值不同,该特定字段的索引用于指示该特定字段对应第n-1条详单数据中的同一字段的位置。
2.根据权利要求1所述的方法,其特征在于,将所述详单数据中的多个字段录入到该数据库的一个单元格中,包括:将所述详单数据中的所有字段全部录入到所述数据库的一个单元格中。
3.根据权利要求1所述的方法,其特征在于,将所述详单数据中的多个字段录入到该数据库的一个单元格中,包括:
若所述详单数据中的多个字段的值占用的总的存储空间大于预设阈值,则通过预设算法对所述多个字段的值进行计算,记录计算得到的值到该数据库的一个单元格中。
4.一种将数据录入数据库的装置,其特征在于,包括:
获取单元,用于获取用户设备的标识以及用于描述该用户设备处理事件的详单数据,该详单数据包括多个用于描述事件信息的字段;
处理单元,连接至所述获取单元,用于将所述用户设备的标识与所述详单数据的对应关系录入数据库中,其中,将所述详单数据中的多个字段录入到该数据库的一个单元格中;
所述用户设备的标识对应N条详单数据,且N为大于1的正整数;
所述处理单元将所述N条详单数据录入到所述数据库的同一个单元格中,具体用于:以N条详单数据中任一详单数据作为第一条详单数据,将该第一条详单数据中所有字段的值,以及第n条详单数据中的相关字段的索引及对应的值录入到所述数据库的同一个单元格中,n的取值范围是[2,N-1];
第n条详单数据中的相关字段的索引及对应的值,包括:
特定字段的索引及对应的值,该特定字段的值与第n-1条详单数据中同一字段的值不同,该特定字段的索引用于指示该特定字段对应第n-1条详单数据中的同一字段的位置。
5.根据权利要求4所述的装置,其特征在于,将所述详单数据中的多个字段录入到该数据库的一个单元格中,包括:将所述详单数据中的所有字段全部录入到所述数据库的一个单元格中。
6.根据权利要求4所述的装置,其特征在于,所述处理单元将所述详单数据中的多个字段录入到该数据库的一个单元格中,包括:
若所述详单数据中的多个字段的值占用的总的存储空间大于预设阈值,则通过预设算法对所述多个字段的值进行计算,记录计算得到的值到该数据库的一个单元格中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410735141.8A CN105718485B (zh) | 2014-12-04 | 2014-12-04 | 一种将数据录入数据库的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410735141.8A CN105718485B (zh) | 2014-12-04 | 2014-12-04 | 一种将数据录入数据库的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105718485A CN105718485A (zh) | 2016-06-29 |
CN105718485B true CN105718485B (zh) | 2019-08-27 |
Family
ID=56143713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410735141.8A Active CN105718485B (zh) | 2014-12-04 | 2014-12-04 | 一种将数据录入数据库的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718485B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165214A (zh) * | 2018-06-29 | 2019-01-08 | 铜陵市世纪朝阳数码科技有限责任公司 | 一种多点信息数据录入方法 |
CN109299157B (zh) * | 2018-08-27 | 2021-11-23 | 杭州安恒信息技术股份有限公司 | 一种分布式大单表的数据导出方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004766A (zh) * | 2010-11-09 | 2011-04-06 | 北京神州泰岳软件股份有限公司 | 基于信息系统的可配置信息查询方法及系统 |
CN102508839A (zh) * | 2011-09-22 | 2012-06-20 | 用友软件股份有限公司 | 数据处理装置和方法 |
CN102833241A (zh) * | 2012-08-20 | 2012-12-19 | 中国联合网络通信集团有限公司 | 流媒体业务流量记录合并处理方法及装置 |
CN103257959A (zh) * | 2012-02-15 | 2013-08-21 | 深圳市金蝶友商电子商务服务有限公司 | 生成电子表格报表的方法和装置 |
-
2014
- 2014-12-04 CN CN201410735141.8A patent/CN105718485B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004766A (zh) * | 2010-11-09 | 2011-04-06 | 北京神州泰岳软件股份有限公司 | 基于信息系统的可配置信息查询方法及系统 |
CN102508839A (zh) * | 2011-09-22 | 2012-06-20 | 用友软件股份有限公司 | 数据处理装置和方法 |
CN103257959A (zh) * | 2012-02-15 | 2013-08-21 | 深圳市金蝶友商电子商务服务有限公司 | 生成电子表格报表的方法和装置 |
CN102833241A (zh) * | 2012-08-20 | 2012-12-19 | 中国联合网络通信集团有限公司 | 流媒体业务流量记录合并处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
也谈对多个单元格数据的合并;姜学治;《现代教学》;20031231;第59页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105718485A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11288282B2 (en) | Distributed database systems and methods with pluggable storage engines | |
US11226963B2 (en) | Method and system for executing queries on indexed views | |
US11068439B2 (en) | Unsupervised method for enriching RDF data sources from denormalized data | |
KR102157925B1 (ko) | 데이터 질의 방법 및 장치 | |
CN103106249B (zh) | 一种基于Cassandra的数据并行处理系统 | |
JP6434154B2 (ja) | トランザクションアクセスパターンに基づいた結合関係の識別 | |
CN107515878B (zh) | 一种数据索引的管理方法及装置 | |
WO2017219858A1 (zh) | 分布式流式数据处理的方法和装置 | |
CN104424287B (zh) | 数据查询方法和装置 | |
CN103631924B (zh) | 一种分布式数据库平台的应用方法和系统 | |
CN110245134B (zh) | 一种应用于搜索服务的增量同步方法 | |
CN104978324B (zh) | 一种数据处理方法和装置 | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
Jeong et al. | Anomaly teletraffic intrusion detection systems on hadoop-based platforms: A survey of some problems and solutions | |
CN104036029A (zh) | 大数据一致性对比方法和系统 | |
CN107346270B (zh) | 基于实时计算的基数估计的方法和系统 | |
CN108319608A (zh) | 访问日志存储查询的方法、装置及系统 | |
CN111026709A (zh) | 基于集群访问的数据处理方法及装置 | |
CN103414762A (zh) | 云备份方法和装置 | |
CN103034650A (zh) | 一种数据处理系统和方法 | |
CN105718485B (zh) | 一种将数据录入数据库的方法及装置 | |
CN106980618B (zh) | 基于MongoDB分布式集群架构的文件存储方法和系统 | |
CN109213972B (zh) | 确定文档相似度的方法、装置、设备和计算机存储介质 | |
Lee et al. | A big data management system for energy consumption prediction models | |
US10467193B1 (en) | Real-time ad hoc querying of data records |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |