一种基于Spark的纳税人利益关联网络并行生成方法

文档序号:9811284阅读:209来源:国知局
一种基于Spark的纳税人利益关联网络并行生成方法
【技术领域】
[0001] 本发明涉及计算机科学与技术中的并行图生成领域,具体涉及一种基于Spark的 纳税人利益关联网络并行生成方法。
【背景技术】
[0002] 随着国家税务大数据分析平台和电子税务大数据计算与服务的开展,传统的纸质 发票逐步被电子发票所取代。如何对每天数以千万计的电子发票涉税数据进行分析,挖掘 出纳税人之间潜在、隐蔽、多样的利益关联关系成为一个亟待解决的问题。
[0003] 针对如何有效挖掘出利益关系,以下专利提供了可用的技术方案:
[0004] 中国专利文献201310293435.5公开了一种基于着色加权图的纳税人利益关联网 络(TPIN),提供了一种基于多种纳税人利益关联关系网络模型检测企业偷漏税行为的方 法。
[0005] 然而现有的TPIN生成方法是基于串行的思想进行设计的,在应对海量异构的涉税 数据的TPIN生成时,往往出现生成慢、甚至无法生成的情况,也为后续基于TPIN的税务指标 挖掘和图分析带来了极大的挑战。
[0006] 本申请考虑采用分布式计算框架Spark处理涉税数据。Spark是当前广泛使用的并 行计算框架,采用Master/Slave的集群架构。其中一个Master节点管理多个Slave节点并负 责任务调度和分发,而多个Slave节点控制多个计算单元响应Master调度并进行实际计算 和数据存储。Spark框架下的数据并行计算,其本质在于通过可选的多种分区策略,将数据 集分成相互独立的多个数据分区,分别交由多个计算单元同时处理。另外,Spark的内存中 计算、DAG调度、可编程分区等特性都使得并行计算的速度进一步提升。
[0007] Spark的可编程分区特性,可以有效地将异构的涉税数据转化为同构的涉税数据; 提高数据并行度特性和内存中计算特性,可以极大地提高TPIN的生成效率,并且为后续基 于TPIN的高效图分析奠定基础。

【发明内容】

[0008] 本发明的目的在于针对上述现有技术中的问题,提供一种基于Spark的纳税人利 益关联网络并行生成方法,用以应对海量异构的涉税数据的TPIN生成,也为后续基于TPIN 的并行图分析奠定基础。
[0009] 为了实现上述目的,本发明纳税人利益关联网络并行生成方法,包括以下步骤:
[0010] 1)、从原始数据中构造纳税人利益关联初始网络ΤΡΙΝο;
[0011] 所述的原始数据包括企业的工商局注册信息、证监会上市公司信息、户籍部门的 信息、金融机构披露的信息以及税务部门的电子发票信息;
[0012] (1)基于哈希分区方法,根据纳税人原始信息,即企业的工商局注册信息以及证监 会上市公司信息,构造 ΤΡΙΝο的点表V;
[0013] (2)基于协同分区方法,根据相关部门的信息,即户籍部门的信息、金融机构披露 的信息以及税务部门的电子发票信息,构造 ΤΡΙΝο的边表E;
[0014] (3)基于顶点分割的分区方法,构造可并行计算的ΤΡΙΝο;
[0015] 2)、使用多种聚合算子对ΤΡΙΝο进行约简,得到TPIN;
[0016] (1)对特定聚合算子进行模式识别并得到所有待聚合的顶点;
[0017] (2)将所有待聚合顶点的信息同步到邻接边的属性域中;
[0018] (3)利用多节点聚合边权重计算方法,产生约简后的边表newE;
[0019] (4)修改所有待聚合节点的属性,产生约简后的点表newV;
[0020] (5)基于顶点分割的分区方法,构造纳税人利益关联网络TPIN;
[0021] 3)、并行输出纳税人利益关联网络ΤΡΙΝο。
[0022]所述的哈希分区方法具体步骤为:
[0023] Stepl:从总局数据中心读入企业的工商局注册信息和证监会上市公司信息,每条 记录的数据格式形如:
[0025] Step2:基于哈希分区方法根据每条记录的纳税人内部码将这些信息分成 NumPartitiom个数据分区,所述数据分区是原始数据的子集,不同分区的数据之间不存在 交叉,且各个分区的数据量相对均衡;将NumPart it iom个分区的数据分发给Slave节点, Slave节点控制的每个计算单元分别负责处理一个分区的数据;所述哈希分区方法如下:
[0026] 记录所属分区Id=(纳税人内部码.hashCode〇)mod NumPartitiom;
[0027]其中,纳税人内部码.hashCode()表示求纳税人内部码的哈希值,mod表示左边数 值对右边数值取余,得到的记录所属分区Ide {〇, 1,. . .,NumPartitiom-l};
[0028] Step3:首先,每个计算单元从各自处理分区的企业注册信息和上市公司信息中, 过滤出所有的企业、企业实际控制人和企业董事;因为每个分区的数据之间不存在依赖关 系,使用多个计算单元同时过滤不同分区的数据以实现并行过滤;其次,对于每个分区过滤 出的信息,按照类别添加 Color属性,设置Color(企业)=C、Color(企业实际控制人)=L、 Color (企业董事)=B,所得结果构成了 ΤΡΙΝο的点表V;V中每个点的格式为(Vertexld, C〇l〇rvertex) 〇
[0029] 所述的协同分区方法具体步骤为:
[0030] Stepl:按照一个已分区数据集的分区方法对另一个未分区的数据集进行分区,使 两个数据集的分布方式相同;将户籍部门的信息、金融机构披露的信息、税务部门的电子发 票信息按照点表V的分区方式进行协同分区;
[0031] Step2:对每个分区的每条记录,映射出表示纳税人利益关联关系的二元组,作为 ΤΡΙΝο的边,形如(LhCO;
[0032] Step3:为每条边添加属性域;
[0033] 对每个分区映射出的每个二元组,添加一个元组类型的元素扩展形成三元组,添 加的元素为边的属性域,用来表示边的多个属性,如:着色加权图的权值、着色加权图的颜 色、程序运行状态、程序变量、消息和用户定义属性;
[0034] Step4:为每条边的属性域增加颜色属性;
[0035]基于纳税人利益关联关系,为属性域添加颜色属性,设置C〇lor(实际控制关系)= CL、Co lor (互为亲属关系)= IR、Color (控股关系)=HR、Co lor (利益互锁关系)= IL、Color (单向交易关系)=TR;得到带颜色属性的边,形如(LiCUCL));
[0036] Step5:为每条边的属性域增加权值属性;
[0037] 为所有颜色为CL、IL、IR的边的属性域添加权值属性,设置权值为1,表示顶点之间 存在绝对的利益关联关系;结果形如Edgea:,&,( 1,CL));
[0038] 为所有颜色为HR的边的属性域添加权值属性,根据该企业董事对该企业的控股百 分比设置权值,取值范围为(〇,1 ];结果形如Edge(,&,(0.2,HR));
[0039] 为所有颜色为TR的边的属性域添加权值属性,根据源点企业和终点企业的利益关 联度函数设置权值,取值范围为(〇,1 ];结果形如Edge (&,&,(0.05, TR));其中,单向交易边 的权值用来判断源点企业和终点企业是否存在潜在的偷漏税行为;上述过程的所得结果构 成了ΤΡΙΝο的边表E,E的数据结构表示为Edge(srcld,dstld, (Weightedge,Coloredge)),三元 组的第一个元素映射为E的字段属性srcld,第二个元素映射为E的字段属性dstld,属性域 中的权值属性映射为E的字段属性Weighted%,属性域中的颜色属性映射为E的字段属性 C〇 1 OiTedge 〇
[0040] 所述的基于顶点分割的分区方法,构造可并行计算ΤΡΙΝο的具体步骤为:
[0041] ①基于顶点分割方法,对V和Ε进行分区;
[0042] Ε中的每条边只属于一个边表分区,点的属性只属于一个点表分区,当点的邻接边 分别属于不同边表分区时,该点就被分割给多个边表分区;
[0043] Stepl:将Ε中的边基于2D分区方法均匀地分给每个边表分区,得到分区内部网络 相对完整的NumPar t i t ion2个边表分区;所述2D分区方法是指基于边的源点I d和终点I d,计 算边所属的边表分区,计算过程如下:
[0044] col = (srcld X Prime)%sqrt(NumPartition2)
[0045] row= (dstId XPrime) %sqrt(NumPartition2)
[0046] 所属边表分区Id= (col X sqrt(NumPartition2)+row) %NumPartition2
[0047] 其中,Prime表示一个足够大的素数,本发明根据实际经验取值为914293,作为乘 数作用于srcld和dstld,使边均匀地分布在多个边表分区,减少ΤΡΙΝο网络中边密集区域造 成的负载不均衡;%表示取余操作,sqrt()表示对括号内数值求平方根,得到的所属边表分 区Ide {〇, 1,· · ·,NumPartition2-l};
[0048] Step2:将V中的点基于哈希分区方法根据每个点的Verte
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1