CN109767274A - 一种对海量***数据进行关联存储的方法及*** - Google Patents

一种对海量***数据进行关联存储的方法及*** Download PDF

Info

Publication number
CN109767274A
CN109767274A CN201811480227.5A CN201811480227A CN109767274A CN 109767274 A CN109767274 A CN 109767274A CN 201811480227 A CN201811480227 A CN 201811480227A CN 109767274 A CN109767274 A CN 109767274A
Authority
CN
China
Prior art keywords
data
invoice data
node
invoice
stored
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.)
Granted
Application number
CN201811480227.5A
Other languages
English (en)
Other versions
CN109767274B (zh
Inventor
林文辉
赵林
刘海法
舒南飞
张�浩
孙科武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aisino Corp
Original Assignee
Aisino Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aisino Corp filed Critical Aisino Corp
Priority to CN201811480227.5A priority Critical patent/CN109767274B/zh
Publication of CN109767274A publication Critical patent/CN109767274A/zh
Application granted granted Critical
Publication of CN109767274B publication Critical patent/CN109767274B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种对海量***数据进行关联存储的方法及***,其中方法包括:将同一企业的***数据进行聚合,并将所述经过聚合的所述***数据缓存到消息队列,以构建基于所述消息队列的数据缓存层;当所述数据缓存层缓存的所述***数据达到存储条件时,为所述缓存层缓存的所述***数据选择数据存储节点;根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号;当所述***数据对应表中已存储对应的企业税号时,将所述***数据存储于对应的企业税号的对应的数据存储节点。

Description

一种对海量***数据进行关联存储的方法及***
技术领域
本发明涉及***数据存储技术领域,更具体地,涉及一种对海量***数据进行关联存储的方法及***。
背景技术
电子***是信息时代的产物,同普通***一样,采用税务局统一发放的形式给商家使用,***号码采用全国统一编码,采用统一防伪技术,分配给商家,在电子***上附有电子税局的签名机制。***代码是税务部门给予***的编码。在查询***真伪的时候,需要输入***代码。普通***,就是通常说的手工版***代码为12位。增值税专用***和增值税普通***的代码原为10位,2018年1月1日开始,我国对增值税普通***进行调整,新版增值税普通***(折叠票)***代码从10位调整为12位。***号码是税务部门给予***的编码。在查询***真伪的时候,需要输入***号码。***号码一般是8位,但是在网上查询***真伪时,一般要在***号码前面输入信息码或***代码。所以,在查询***真伪时的“***号码”由“信息码+***号码”或“***代码+***号码”组成。
HDFS即Hadoop分布式文件***,是对谷歌GFS的开源实现,初始设计用于部署在众多普通的硬件设备上,提高海量的大数据集的存储,其具有高容错性、高可靠性、高可扩展性等优点,当前已被众多科研机构和公司广泛使用。
HDFS也采用主从架构,一个HDFS集群包含一个NameNode主节点和众多DataNode从节点。NameNode是HDFS文件***的主节点,它负责维护整个HDFS文件***的命名空间,管理所有文件和目录的元数据。NameNode节点存储数据块相关信息,包括文件和数据块的映射关系,数据块和DataNode节点的映射关系。同时,Namenode提供了相关服务接口供用户客户端、DataNode节点、Second NameNode节点通过RPC机制与NameNode节点通信调用。
在HDFS文件***中,文件通常按照固定大小(默认为64MB每个数据块)被切分成多个数据块,并尽可能分散存储于不同的DataNode中,同时由NameNode节点对文件信息进行维护。NameNode节点维护着两张表。
1)filename->blocksequence(namespace)
2)block->machinelist("inodes")
第一张表记录文件与block数据块的映射关系,即文件存在于哪些block中、在该block的偏移量、大小等信息;第二张表则记录着block位于哪些DataNode节点的信息。
当客户端提交文件写入到HDFS文件***中时,需要向NameNode申请block数据块信息,该block信息包括要写入的各个DataNode节点信息。NameNode收到客户端的申请后会为该block的写入分配节点,节点的选择算法中采用了机架感知策略。在默认情况下,Hadoop配置存储的文件副本数为3,即选择三个节点来存储相同的数据块。三个节点的依次选择为本地节点、另一机架上随机选择一个节点和本地节点同一机架的另一节点。如果上传文件的客户端不是该集群的某个节点,则没有本地节点,而是随机选择一个节点,再根据该节点按照上述方式选择后续的两个节点。
同时HDFS文件***通过均衡器来保证数据在集群中各个节点上均匀分布。均衡器在坚持上述文件副本放置策略的基础上,对各个节点的存储容量进行评估,根据评估结果在节点之间移动数据块。其目的是保证单个Datanode节点的磁盘使用率和HDFS的存储空间使用率在一定阀值内保持一致。
数据本地性是影响HDFS性能的一个重要因素,它的思想是任务应尽量在其所需数据的节点上执行。这也是Hadoop的一个核心思想:移动计算程序,而不移动数据。较高的数据本地性,能减小数据传输开销,节约宝贵的带宽资源,进而能提高集群性能。
电子******需要采集电子***的***号码、***代码、开票日期、购方名称、销方名称等三十多个参数,同时后端需要对接企业、行业、商品等各类数据,存储到大数据平台。大数据平台在高效可靠地存储这些数据的基础上,还要提供快速的数据查询和关联分析方法。海量电子***大数据呈现出以下3个特征对数据存储及查询方法构成一定的挑战:
(1)数据体量巨大。目前,电子***应用越来越广泛,产生的数据量呈指数增长,数据规模由TB级向PB级发展;
(2)数据具有关联性。***数据分析相关应用研究需要从时空维度对各类数据进行关联挖掘分析,由于关联分析涉及的数据类型众多,多源数据关联查询需求日益增长。如何在大数据环境下对海量***数据进行存储优化并提供高效的关联查询方法是亟待解决的问题;
(3)数据处理速率要求高。***数据分析研究需要对海量数据进行计算分析,这需要数据存储及查询技术能够应对后续高速率数据处理的挑战。
因此,需要一种技术,以实现对海量***数据进行关联存储的技术。
发明内容
本发明技术方案提供了一种对海量***数据进行关联存储的方法及***,以解决如何对海量***数据进行关联存储的问题。
为了解决上述问题,本发明提供了一种对海量***数据进行关联存储的方法,所述方法包括:
将同一企业的***数据进行聚合,并将所述经过聚合的所述***数据缓存到消息队列,以构建基于所述消息队列的数据缓存层;
当所述数据缓存层缓存的所述***数据达到存储条件时,为所述缓存层缓存的所述***数据选择数据存储节点;
根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号;
当所述***数据对应表中已存储对应的企业税号时,将所述***数据存储于对应的企业税号的对应的数据存储节点。
优选地,还包括:当所述***数据对应表中未存储对应的企业税号时,随机选择第一个节点存储所述***数据;
并将所述***数据的副本存储于与所述第一个节点相同机架的其他节点,和与所述第一个节点不同机架的其他节点;
将所述企业税号与所述第一个节点的主机号存储到表中。
优选地,还包括:当所述数据缓存层缓存的所述***数据达到存储条件时,为所述缓存层缓存的所述***数据选择数据存储节点,将所述***数据指提交到分布式文件***HDFS进行存储;
当所述分布式文件***HDFS接收到所述***数据存储申请后,所述分布式文件***HDFS主节点根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号;
当所述***数据对应表中存储对应的企业税号时,通过所述文件***HDFS主节点将所述***数据存储于对应的企业税号的对应的所述文件***HDFS从节点;
将所述***数据的第二副本和第三副本根据所述文件***HDFS默认的机架感知策略,在同一机架的不同节点和不同机架的节点中选择进行存储。
优选地,所述存储条件包括:
当消息队列中的缓存数据达到预定量数据;或
当消息队列中的缓存数据达到预定时间。
优选地,所述根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号,包括:
根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据的销方节点对应表或购方节点对应表中是否存储对应的企业税号。
基于本发明的另一方面,提供一种对海量***数据进行关联存储的***,所述***包括:
聚合单元,用于将同一企业的***数据进行聚合,并将所述经过聚合的所述***数据缓存到消息队列,以构建基于所述消息队列的数据缓存层;
缓存单元,用于当所述数据缓存层缓存的所述***数据达到存储条件时,为所述缓存层缓存的所述***数据选择数据存储节点;
判断单元,用于根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号;
存储单元,用于当所述***数据对应表中已存储对应的企业税号时,将所述***数据存储于对应的企业税号的对应的数据存储节点。
优选地,所述存储单元还用于:当所述***数据对应表中未存储对应的企业税号时,随机选择第一个节点存储所述***数据;
并将所述***数据的副本存储于与所述第一个节点相同机架的其他节点,和与所述第一个节点不同机架的其他节点;
将所述企业税号与所述第一个节点的主机号存储到表中。
优选地,所述缓存单元还用于:当所述数据缓存层缓存的所述***数据达到存储条件时,为所述缓存层缓存的所述***数据选择数据存储节点,将所述***数据指提交到分布式文件***HDFS进行存储;
所述判断单元还用于:当所述分布式文件***HDFS接收到所述***数据存储申请后,所述分布式文件***HDFS主节点根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号;
所述存储单元还用于:当所述***数据对应表中存储对应的企业税号时,通过所述文件***HDFS主节点将所述***数据存储于对应的企业税号的对应的所述文件***HDFS从节点;
将所述***数据的第二副本和第三副本根据所述文件***HDFS默认的机架感知策略,在同一机架的不同节点和不同机架的节点中选择进行存储。
优选地,所述存储条件包括:
当消息队列中的缓存数据达到预定量数据;或
当消息队列中的缓存数据达到预定时间。
优选地,所述判断单元用于:根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号,还用于:
根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据的销方节点对应表或购方节点对应表中是否存储对应的企业税号。
本发明技术方案提供了一种对海量***数据进行关联存储的方法,方法包括:将同一企业的***数据进行聚合,并将经过聚合的***数据缓存到消息队列,以构建基于消息队列的数据缓存层;当数据缓存层缓存的***数据达到存储条件时,为缓存层缓存的***数据选择数据存储节点;根据***数据的聚合维度查询***数据对应表,并检查***数据对应表中是否存储对应的企业税号;当***数据对应表中已存储对应的企业税号时,将***数据存储于对应的企业税号的对应的数据存储节点。本发明技术方案在进行海量***数据关联分析时,关联了***所对应的企业各个维度数据,为了提高数据关联分析的性能,本发明技术方案对HDFS数据存储流程进行了重新定义。在***数据写入时,考虑***数据对应的购方和销方数据所在的存储节点,保证关联数据尽可能存储在同一数据节点,减少Hadoop执行关联分析作业时网络数据的传输量,提高作业数据本地性任务的比例,达到提升数据分析性能的目的。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为本发明技术方案提供了一种对海量***数据进行关联存储的方法流程图;
图2为本发明技术方案提供了一种对海量***数据进行关联存储的方法流程图;以及
图3为本发明技术方案提供了一种对海量***数据进行关联存储的***结构图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
图1为本发明技术方案提供了一种对海量***数据进行关联存储的方法流程图。本申请实施方式通过对HDFS中NameNode模块进行改造,具体为在NameNode中存储两张表,一张为购方节点对应表,存储购方企业税号ID和对应***数据存储的第一个节点主机名,另一张为销方节点对应表,存储销方企业税号ID和对应***数据存储的第一个节点主机名。本申请提高了数据存储的安全性和分布式计算的性能,对所有***数据以三副本的形式进行存储。如图1所示,一种对海量***数据进行关联存储的方法,方法包括:
优选地,在步骤101:将同一企业的***数据进行聚合,并将经过聚合的***数据缓存到消息队列,以构建基于消息队列的数据缓存层。本申请首先构建基于消息队列的数据缓存层,对需要写入大数据平台的***数据进行聚合和缓存。由于***数据均为结构化数据,占用存储空间较小,而在***数据关联分析中需要从购方和销方两个维度进行不同的关联分析,本申请以企业的税号ID作为关联字段,同时根据购方企业的税号和销方企业的税号分别进行聚合,即将每张***存储两份,分别以购方和销方企业的税号进行聚合。聚合数据先缓存到消息队列中。
优选地,在步骤102:当数据缓存层缓存的***数据达到存储条件时,为缓存层缓存的***数据选择数据存储节点。本申请当缓存数据达到阈值后,基于缓存数据选择合适的数据节点。优选地,存储条件包括:当消息队列中的缓存数据达到预定量数据;或当消息队列中的缓存数据达到预定时间。
本申请的存储条件为:当消息队列中的缓存数据达到一定数据(包括500条,1000条,或1500,以及2000条***数据等);或者一定时间(包括每3分钟,5分钟,8分钟,10分钟等)。当满足存储条件时,将***数据批量提交到HDFS进行存储。
优选地,在步骤103:根据***数据的聚合维度查询***数据对应表,并检查***数据对应表中是否存储对应的企业税号。优选地,根据***数据的聚合维度查询***数据对应表,并检查***数据对应表中是否存储对应的企业税号,包括:根据***数据的聚合维度查询***数据对应表,并检查***数据的销方节点对应表或购方节点对应表中是否存储对应的企业税号。
本申请中,HDFS集群接收到数据存储申请后,NameNode根据数据聚合维度查询相应销方节点对应表或销方节点对应表,检查表内是否存储对应的企业税号ID。
优选地,在步骤104:当***数据对应表中已存储对应的企业税号时,将***数据存储于对应的企业税号的对应的数据存储节点。优选地,还包括:当***数据对应表中未存储对应的企业税号时,随机选择第一个节点存储***数据;并将***数据的副本存储于与第一个节点相同机架的其他节点,和与第一个节点不同机架的其他节点;将企业税号与第一个节点的主机号存储到表中。
优选地:当数据缓存层缓存的***数据达到存储条件时,为缓存层缓存的***数据选择数据存储节点,将***数据指提交到分布式文件***HDFS进行存储;当分布式文件***HDFS接收到***数据存储申请后,分布式文件***HDFS主节点根据***数据的聚合维度查询***数据对应表,并检查***数据对应表中是否存储对应的企业税号;当***数据对应表中存储对应的企业税号时,通过文件***HDFS主节点将***数据存储于对应的企业税号的对应的文件***HDFS从节点;将***数据的第二副本和第三副本根据文件***HDFS默认的机架感知策略,在同一机架的不同节点和不同机架的节点中选择进行存储。
本申请中,如果该表中已经存储该税号ID对应的节点,则NameNode将数据存储到对应的DataNode数据节点,对于数据的第二副本和第三副本根据HDFS默认的机架感知策略,在同一机架的不同节点和不同机架的节点中选择进行存储。
如果该表中没有存储该税号ID对应的节点,则NameNode采用机架感知策略,选择三个节点来存储三个副本,即随机选择第一个节点,与第一个节点同一机架的其他节点,不同机架的其他节点。然后将该税号与对应的第一个节点主机号存储到表中。
本申请提出的一种基于HDFS的海量***数据关联存储性能优化方法,该方法在不影响Hadoop作业运行的基础上,通过在海量数据存储这一最初环节对数据的存储节点进行控制和优化,保证在进行***数据关联分析时,同一企业的***数据尽可能在同一节点上,可以极大减少后续关联分析作业运行时,网络中的数据传输量并提高作业运行时的数据本地性,缩短作业运行时间。本申请实施方式对其他类似的海量数据分析场景有一定的指导意义。
图2为本发明技术方案提供了一种对海量***数据进行关联存储的方法流程图。如图2所示,本申请提供的一种对海量***数据进行关联存储的方法,本申请构建了一个适用于海量***数据关联分析的数据存储模型,该模型可以极大提高进行数据关联分析的性能。本申请通过对税务大数据平台中HDFS原有的数据存储算法进行改进。首先,构建购方节点对应表和销方节点对应表,将这两个表存放在Hadoop集群的NameNode节点上,提供给NameNode用于后续调用和更新。当HDFS文件***需要存储数据时,Namenode对数据分割成相同大小的数据块,然后在校验节点的存储容量的前提下,根据购方节点对应表和销方节点对应表选择合适的节点存储数据块。本申请,首先通过***业务***向大数据平台发送***数据,数据缓存层接收***数据后,将***数据存储为两份,分别以购方企业税号和销方企业税号进行聚合并缓存到消息队列中。当消息队列中的缓存数据达到一定数据(如1000条***数据),或者一定时间(如每5分钟)时,将***数据指提交到HDFS进行存储。HDFS的NameNode节点根据数据聚合维度查询相应购方节点对应表或销方节点对应表,检查表内是否存储对应的企业税号ID。如表中已经存储该税号ID对应的节点时,NameNode节点将数据存储到对应的DataNode数据节点。对于数据的第二副本和第三副本根据HDFS默认的机架感知策略,在同一机架的不同节点和不同机架的节点中选择进行存储,完成***数据到HDFS的存储流程;若表中没有存储该税号ID对应的节点时,NameNode采用机架感知策略,选择三个节点来存储三个副本,并将该税号与对应的第一个节点主机号存储到对应的购方节点对应表或销方节点对应表,完成***数据到HDFS的存储流程。
图3为本发明技术方案提供了一种对海量***数据进行关联存储的***结构图。如图3所示,一种对海量***数据进行关联存储的***,***包括:
聚合单元301,用于将同一企业的***数据进行聚合,并将经过聚合的***数据缓存到消息队列,以构建基于消息队列的数据缓存层。本申请首先构建基于消息队列的数据缓存层,对需要写入大数据平台的***数据进行聚合和缓存。由于***数据均为结构化数据,占用存储空间较小,而在***数据关联分析中需要从购方和销方两个维度进行不同的关联分析,本申请以企业的税号ID作为关联字段,同时根据购方企业的税号和销方企业的税号分别进行聚合,即将每张***存储两份,分别以购方和销方企业的税号进行聚合。聚合数据先缓存到消息队列中。
缓存单元302,用于当数据缓存层缓存的***数据达到存储条件时,为缓存层缓存的***数据选择数据存储节点。优选地,存储条件包括:当消息队列中的缓存数据达到预定量数据;或当消息队列中的缓存数据达到预定时间。本申请的存储条件为:当消息队列中的缓存数据达到一定数据(包括500条,1000条,或1500,以及2000条***数据等);或者一定时间(包括每3分钟,5分钟,8分钟,10分钟等)。当满足存储条件时,将***数据批量提交到HDFS进行存储。
判断单元303,用于根据***数据的聚合维度查询***数据对应表,并检查***数据对应表中是否存储对应的企业税号。优选地,根据***数据的聚合维度查询***数据对应表,并检查***数据对应表中是否存储对应的企业税号,包括:根据***数据的聚合维度查询***数据对应表,并检查***数据的销方节点对应表或购方节点对应表中是否存储对应的企业税号。
本申请中,HDFS集群接收到数据存储申请后,NameNode根据数据聚合维度查询相应销方节点对应表或销方节点对应表,检查表内是否存储对应的企业税号ID。
存储单元304,用于当***数据对应表中已存储对应的企业税号时,将***数据存储于对应的企业税号的对应的数据存储节点。优选地,还包括:当***数据对应表中未存储对应的企业税号时,随机选择第一个节点存储***数据;并将***数据的副本存储于与第一个节点相同机架的其他节点,和与第一个节点不同机架的其他节点;将企业税号与第一个节点的主机号存储到表中。
优选地,存储单元304还用于:当***数据对应表中未存储对应的企业税号时,随机选择第一个节点存储***数据;并将***数据的副本存储于与第一个节点相同机架的其他节点,和与第一个节点不同机架的其他节点;将企业税号与第一个节点的主机号存储到表中。
优选地,缓存单元302还用于:当数据缓存层缓存的***数据达到存储条件时,为缓存层缓存的***数据选择数据存储节点,将***数据指提交到分布式文件***HDFS进行存储。
判断单元303还用于:当分布式文件***HDFS接收到***数据存储申请后,分布式文件***HDFS主节点根据***数据的聚合维度查询***数据对应表,并检查***数据对应表中是否存储对应的企业税号。优选地,判断单元用于:根据***数据的聚合维度查询***数据对应表,并检查***数据对应表中是否存储对应的企业税号,还用于:根据***数据的聚合维度查询***数据对应表,并检查***数据的销方节点对应表或购方节点对应表中是否存储对应的企业税号。
存储单元304还用于:当***数据对应表中存储对应的企业税号时,通过文件***HDFS主节点将***数据存储于对应的企业税号的对应的文件***HDFS从节点;将***数据的第二副本和第三副本根据文件***HDFS默认的机架感知策略,在同一机架的不同节点和不同机架的节点中选择进行存储。
本申请中,如果该表中已经存储该税号ID对应的节点,则NameNode将数据存储到对应的DataNode数据节点,对于数据的第二副本和第三副本根据HDFS默认的机架感知策略,在同一机架的不同节点和不同机架的节点中选择进行存储。
如果该表中没有存储该税号ID对应的节点,则NameNode采用机架感知策略,选择三个节点来存储三个副本,即随机选择第一个节点,与第一个节点同一机架的其他节点,不同机架的其他节点。然后将该税号与对应的第一个节点主机号存储到表中。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

Claims (10)

1.一种对海量***数据进行关联存储的方法,所述方法包括:
将同一企业的***数据进行聚合,并将所述经过聚合的所述***数据缓存到消息队列,以构建基于所述消息队列的数据缓存层;
当所述数据缓存层缓存的所述***数据达到存储条件时,为所述缓存层缓存的所述***数据选择数据存储节点;
根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号;
当所述***数据对应表中已存储对应的企业税号时,将所述***数据存储于对应的企业税号的对应的数据存储节点。
2.根据权利要求1所述的方法,还包括:当所述***数据对应表中未存储对应的企业税号时,随机选择第一个节点存储所述***数据;
并将所述***数据的副本存储于与所述第一个节点相同机架的其他节点,和与所述第一个节点不同机架的其他节点;
将所述企业税号与所述第一个节点的主机号存储到表中。
3.根据权利要求1所述的方法,还包括:当所述数据缓存层缓存的所述***数据达到存储条件时,为所述缓存层缓存的所述***数据选择数据存储节点,将所述***数据指提交到分布式文件***HDFS进行存储;
当所述分布式文件***HDFS接收到所述***数据存储申请后,所述分布式文件***HDFS主节点根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号;
当所述***数据对应表中存储对应的企业税号时,通过所述文件***HDFS主节点将所述***数据存储于对应的企业税号的对应的所述文件***HDFS从节点;
将所述***数据的第二副本和第三副本根据所述文件***HDFS默认的机架感知策略,在同一机架的不同节点和不同机架的节点中选择进行存储。
4.根据权利要求1所述的方法,所述存储条件包括:
当消息队列中的缓存数据达到预定量数据;或
当消息队列中的缓存数据达到预定时间。
5.根据权利要求1所述的方法,所述根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号,包括:
根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据的销方节点对应表或购方节点对应表中是否存储对应的企业税号。
6.一种对海量***数据进行关联存储的***,所述***包括:
聚合单元,用于将同一企业的***数据进行聚合,并将所述经过聚合的所述***数据缓存到消息队列,以构建基于所述消息队列的数据缓存层;
缓存单元,用于当所述数据缓存层缓存的所述***数据达到存储条件时,为所述缓存层缓存的所述***数据选择数据存储节点;
判断单元,用于根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号;
存储单元,用于当所述***数据对应表中已存储对应的企业税号时,将所述***数据存储于对应的企业税号的对应的数据存储节点。
7.根据权利要求6所述的***,所述存储单元还用于:当所述***数据对应表中未存储对应的企业税号时,随机选择第一个节点存储所述***数据;
并将所述***数据的副本存储于与所述第一个节点相同机架的其他节点,和与所述第一个节点不同机架的其他节点;
将所述企业税号与所述第一个节点的主机号存储到表中。
8.根据权利要求6所述的***,所述缓存单元还用于:当所述数据缓存层缓存的所述***数据达到存储条件时,为所述缓存层缓存的所述***数据选择数据存储节点,将所述***数据指提交到分布式文件***HDFS进行存储;
所述判断单元还用于:当所述分布式文件***HDFS接收到所述***数据存储申请后,所述分布式文件***HDFS主节点根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号;
所述存储单元还用于:当所述***数据对应表中存储对应的企业税号时,通过所述文件***HDFS主节点将所述***数据存储于对应的企业税号的对应的所述文件***HDFS从节点;
将所述***数据的第二副本和第三副本根据所述文件***HDFS默认的机架感知策略,在同一机架的不同节点和不同机架的节点中选择进行存储。
9.根据权利要求6所述的***,所述存储条件包括:
当消息队列中的缓存数据达到预定量数据;或
当消息队列中的缓存数据达到预定时间。
10.根据权利要求6所述的***,所述判断单元用于:根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据对应表中是否存储对应的企业税号,还用于:
根据所述***数据的聚合维度查询所述***数据对应表,并检查所述***数据的销方节点对应表或购方节点对应表中是否存储对应的企业税号。
CN201811480227.5A 2018-12-05 2018-12-05 一种对海量***数据进行关联存储的方法及*** Active CN109767274B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811480227.5A CN109767274B (zh) 2018-12-05 2018-12-05 一种对海量***数据进行关联存储的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811480227.5A CN109767274B (zh) 2018-12-05 2018-12-05 一种对海量***数据进行关联存储的方法及***

Publications (2)

Publication Number Publication Date
CN109767274A true CN109767274A (zh) 2019-05-17
CN109767274B CN109767274B (zh) 2023-04-25

Family

ID=66451796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811480227.5A Active CN109767274B (zh) 2018-12-05 2018-12-05 一种对海量***数据进行关联存储的方法及***

Country Status (1)

Country Link
CN (1) CN109767274B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502497A (zh) * 2019-07-27 2019-11-26 北京合力中税科技发展有限公司 一种电子***数据组织查询方法及***
CN110532268A (zh) * 2019-08-29 2019-12-03 深圳前海环融联易信息科技服务有限公司 海量数据分库存储的方法、装置、计算机设备及存储介质
CN111210288A (zh) * 2019-12-26 2020-05-29 大象慧云信息技术有限公司 基于税控服务器的***批量开具作业优化调度方法及***
CN112017021A (zh) * 2020-09-02 2020-12-01 四川长虹电器股份有限公司 一种自动查验***真伪的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120158650A1 (en) * 2010-12-16 2012-06-21 Sybase, Inc. Distributed data cache database architecture
US20140122429A1 (en) * 2012-10-31 2014-05-01 International Business Machines Corporation Data processing method and apparatus for distributed systems
US20140195558A1 (en) * 2013-01-07 2014-07-10 Raghotham Murthy System and method for distributed database query engines
CN104820717A (zh) * 2015-05-22 2015-08-05 国网智能电网研究院 一种海量小文件存储及管理方法和***
CN106570113A (zh) * 2016-10-25 2017-04-19 中国电力科学研究院 一种海量矢量切片数据云存储方法及***
CN106776967A (zh) * 2016-12-05 2017-05-31 哈尔滨工业大学(威海) 基于时序聚合算法的海量小文件实时存储方法及装置
CN107506408A (zh) * 2017-08-08 2017-12-22 北京盛华安信息技术有限公司 对海量事件分布式关联匹配的方法及***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120158650A1 (en) * 2010-12-16 2012-06-21 Sybase, Inc. Distributed data cache database architecture
US20140122429A1 (en) * 2012-10-31 2014-05-01 International Business Machines Corporation Data processing method and apparatus for distributed systems
US20140195558A1 (en) * 2013-01-07 2014-07-10 Raghotham Murthy System and method for distributed database query engines
CN104820717A (zh) * 2015-05-22 2015-08-05 国网智能电网研究院 一种海量小文件存储及管理方法和***
CN106570113A (zh) * 2016-10-25 2017-04-19 中国电力科学研究院 一种海量矢量切片数据云存储方法及***
CN106776967A (zh) * 2016-12-05 2017-05-31 哈尔滨工业大学(威海) 基于时序聚合算法的海量小文件实时存储方法及装置
CN107506408A (zh) * 2017-08-08 2017-12-22 北京盛华安信息技术有限公司 对海量事件分布式关联匹配的方法及***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502497A (zh) * 2019-07-27 2019-11-26 北京合力中税科技发展有限公司 一种电子***数据组织查询方法及***
CN110532268A (zh) * 2019-08-29 2019-12-03 深圳前海环融联易信息科技服务有限公司 海量数据分库存储的方法、装置、计算机设备及存储介质
CN110532268B (zh) * 2019-08-29 2023-04-28 深圳前海环融联易信息科技服务有限公司 海量数据分库存储的方法、装置、计算机设备及存储介质
CN111210288A (zh) * 2019-12-26 2020-05-29 大象慧云信息技术有限公司 基于税控服务器的***批量开具作业优化调度方法及***
CN112017021A (zh) * 2020-09-02 2020-12-01 四川长虹电器股份有限公司 一种自动查验***真伪的方法

Also Published As

Publication number Publication date
CN109767274B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
US11308123B2 (en) Selectively replicating changes to hierarchial data structures
CN109767274A (zh) 一种对海量***数据进行关联存储的方法及***
US20190303382A1 (en) Distributed database systems and methods with pluggable storage engines
US7680793B2 (en) Commit-time ordered message queue supporting arbitrary read and dequeue patterns from multiple subscribers
CN100428228C (zh) 为移动应用缓存数据的***和方法
US8856068B2 (en) Replicating modifications of a directory
US8250102B2 (en) Remote storage and management of binary object data
US10509773B2 (en) DBFS with flashback archive
US20080162483A1 (en) Methods and systems for protecting shared tables against unauthorized overwriting from a tenant space in a mega-tenancy environment
US8655920B2 (en) Report updating based on a restructured report slice
US20220188340A1 (en) Tracking granularity levels for accessing a spatial index
US20170011128A1 (en) Dynamic domain query and query translation
US11360944B2 (en) Reconciliation of data in a distributed system
US10719554B1 (en) Selective maintenance of a spatial index
CN108573063A (zh) 一种数据查询方法及***
US11657088B1 (en) Accessible index objects for graph data structures
WO2011073923A2 (en) Record operation mode setting
US20170220656A1 (en) Information Access System
Sirisha et al. Stock exchange analysis using Hadoop user experience (Hue)
US11580125B2 (en) Information system with temporal data
Harrison et al. MongoDB architecture and concepts
US11966489B2 (en) Data certification process for cloud database platform
US11829367B2 (en) Data certification process for updates to data in cloud database platform
US11392587B1 (en) Rule generation and data certification onboarding process for cloud database platform
US11699193B2 (en) Scalable enforcement of aggregation constraints within transactions

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