CN105574761A - 一种基于Spark的纳税人利益关联网络并行生成方法 - Google Patents
一种基于Spark的纳税人利益关联网络并行生成方法 Download PDFInfo
- Publication number
- CN105574761A CN105574761A CN201510924355.4A CN201510924355A CN105574761A CN 105574761 A CN105574761 A CN 105574761A CN 201510924355 A CN201510924355 A CN 201510924355A CN 105574761 A CN105574761 A CN 105574761A
- Authority
- CN
- China
- Prior art keywords
- limit
- attribute
- subregion
- taxpayer
- tpin
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/10—Tax strategies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于Spark的纳税人利益关联网络并行生成方法,包括以下步骤:1)、从原始数据中构造纳税人利益关联初始网络TPIN0;所述的原始数据包括企业的工商局注册信息、证监会上市公司信息、户籍部门的信息、金融机构披露的信息以及税务部门的电子发票信息;2)、使用多种聚合算子对TPIN0进行约简,得到TPIN;3)、并行输出纳税人利益关联网络TPIN0。本发明提出的并行生成方法具有高效率、可扩展的特点,为后续基于纳税人利益关联网络的税务指标挖掘和图分析的并行化奠定了基础,能用以应对海量异构的涉税数据的TPIN生成。
Description
技术领域
本发明涉及计算机科学与技术中的并行图生成领域,具体涉及一种基于Spark的纳税人利益关联网络并行生成方法。
背景技术
随着国家税务大数据分析平台和电子税务大数据计算与服务的开展,传统的纸质发票逐步被电子发票所取代。如何对每天数以千万计的电子发票涉税数据进行分析,挖掘出纳税人之间潜在、隐蔽、多样的利益关联关系成为一个亟待解决的问题。
针对如何有效挖掘出利益关系,以下专利提供了可用的技术方案:
中国专利文献201310293435.5公开了一种基于着色加权图的纳税人利益关联网络(TPIN),提供了一种基于多种纳税人利益关联关系网络模型检测企业偷漏税行为的方法。
然而现有的TPIN生成方法是基于串行的思想进行设计的,在应对海量异构的涉税数据的TPIN生成时,往往出现生成慢、甚至无法生成的情况,也为后续基于TPIN的税务指标挖掘和图分析带来了极大的挑战。
本申请考虑采用分布式计算框架Spark处理涉税数据。Spark是当前广泛使用的并行计算框架,采用Master/Slave的集群架构。其中一个Master节点管理多个Slave节点并负责任务调度和分发,而多个Slave节点控制多个计算单元响应Master调度并进行实际计算和数据存储。Spark框架下的数据并行计算,其本质在于通过可选的多种分区策略,将数据集分成相互独立的多个数据分区,分别交由多个计算单元同时处理。另外,Spark的内存中计算、DAG调度、可编程分区等特性都使得并行计算的速度进一步提升。
Spark的可编程分区特性,可以有效地将异构的涉税数据转化为同构的涉税数据;提高数据并行度特性和内存中计算特性,可以极大地提高TPIN的生成效率,并且为后续基于TPIN的高效图分析奠定基础。
发明内容
本发明的目的在于针对上述现有技术中的问题,提供一种基于Spark的纳税人利益关联网络并行生成方法,用以应对海量异构的涉税数据的TPIN生成,也为后续基于TPIN的并行图分析奠定基础。
为了实现上述目的,本发明纳税人利益关联网络并行生成方法,包括以下步骤:
1)、从原始数据中构造纳税人利益关联初始网络TPIN0;
所述的原始数据包括企业的工商局注册信息、证监会上市公司信息、户籍部门的信息、金融机构披露的信息以及税务部门的电子发票信息;
(1)基于哈希分区方法,根据纳税人原始信息,即企业的工商局注册信息以及证监会上市公司信息,构造TPIN0的点表V;
(2)基于协同分区方法,根据相关部门的信息,即户籍部门的信息、金融机构披露的信息以及税务部门的电子发票信息,构造TPIN0的边表E;
(3)基于顶点分割的分区方法,构造可并行计算的TPIN0;
2)、使用多种聚合算子对TPIN0进行约简,得到TPIN;
(1)对特定聚合算子进行模式识别并得到所有待聚合的顶点;
(2)将所有待聚合顶点的信息同步到邻接边的属性域中;
(3)利用多节点聚合边权重计算方法,产生约简后的边表newE;
(4)修改所有待聚合节点的属性,产生约简后的点表newV;
(5)基于顶点分割的分区方法,构造纳税人利益关联网络TPIN;
3)、并行输出纳税人利益关联网络TPIN0。
所述的哈希分区方法具体步骤为:
Step1:从总局数据中心读入企业的工商局注册信息和证监会上市公司信息,每条记录的数据格式形如:
纳税人内部码 | 纳税人名称 | 法定代表人名称 |
Step2:基于哈希分区方法根据每条记录的纳税人内部码将这些信息分成NumPartition1个数据分区,所述数据分区是原始数据的子集,不同分区的数据之间不存在交叉,且各个分区的数据量相对均衡;将NumPartition1个分区的数据分发给Slave节点,Slave节点控制的每个计算单元分别负责处理一个分区的数据;所述哈希分区方法如下:
记录所属分区Id=(纳税人内部码.hashCode())modNumPartition1;
其中,纳税人内部码.hashCode()表示求纳税人内部码的哈希值,mod表示左边数值对右边数值取余,得到的记录所属分区Id∈{0,1,...,NumPartition1-1};
Step3:首先,每个计算单元从各自处理分区的企业注册信息和上市公司信息中,过滤出所有的企业、企业实际控制人和企业董事;因为每个分区的数据之间不存在依赖关系,使用多个计算单元同时过滤不同分区的数据以实现并行过滤;其次,对于每个分区过滤出的信息,按照类别添加Color属性,设置Color(企业)=C、Color(企业实际控制人)=L、Color(企业董事)=B,所得结果构成了TPIN0的点表V;V中每个点的格式为(VertexId,Colorvertex)。
所述的协同分区方法具体步骤为:
Step1:按照一个已分区数据集的分区方法对另一个未分区的数据集进行分区,使两个数据集的分布方式相同;将户籍部门的信息、金融机构披露的信息、税务部门的电子发票信息按照点表V的分区方式进行协同分区;
Step2:对每个分区的每条记录,映射出表示纳税人利益关联关系的二元组,作为TPIN0的边,形如(L1,C1);
Step3:为每条边添加属性域;
对每个分区映射出的每个二元组,添加一个元组类型的元素扩展形成三元组,添加的元素为边的属性域,用来表示边的多个属性,如:着色加权图的权值、着色加权图的颜色、程序运行状态、程序变量、消息和用户定义属性;
Step4:为每条边的属性域增加颜色属性;
基于纳税人利益关联关系,为属性域添加颜色属性,设置Color(实际控制关系)=CL、Color(互为亲属关系)=IR、Color(控股关系)=HR、Color(利益互锁关系)=IL、Color(单向交易关系)=TR;得到带颜色属性的边,形如(L1,C1,(CL));
Step5:为每条边的属性域增加权值属性;
为所有颜色为CL、IL、IR的边的属性域添加权值属性,设置权值为1,表示顶点之间存在绝对的利益关联关系;结果形如Edge(L1,C1,(1,CL));
为所有颜色为HR的边的属性域添加权值属性,根据该企业董事对该企业的控股百分比设置权值,取值范围为(0,1];结果形如Edge(B1,C1,(0.2,HR));
为所有颜色为TR的边的属性域添加权值属性,根据源点企业和终点企业的利益关联度函数设置权值,取值范围为(0,1];结果形如Edge(C1,C2,(0.05,TR));其中,单向交易边的权值用来判断源点企业和终点企业是否存在潜在的偷漏税行为;上述过程的所得结果构成了TPIN0的边表E,E的数据结构表示为Edge(srcId,dstId,(Weightedge,Coloredge)),三元组的第一个元素映射为E的字段属性srcId,第二个元素映射为E的字段属性dstId,属性域中的权值属性映射为E的字段属性Weightedge,属性域中的颜色属性映射为E的字段属性Coloredge。
所述的基于顶点分割的分区方法,构造可并行计算TPIN0的具体步骤为:
①基于顶点分割方法,对V和E进行分区;
E中的每条边只属于一个边表分区,点的属性只属于一个点表分区,当点的邻接边分别属于不同边表分区时,该点就被分割给多个边表分区;
Step1:将E中的边基于2D分区方法均匀地分给每个边表分区,得到分区内部网络相对完整的NumPartition2个边表分区;所述2D分区方法是指基于边的源点Id和终点Id,计算边所属的边表分区,计算过程如下:
col=(srcId×Prime)%sqrt(NumPartition2)
row=(dstId×Prime)%sqrt(NumPartition2)
所属边表分区Id=(col×sqrt(NumPartition2)+row)%NumPartition2
其中,Prime表示一个足够大的素数,本发明根据实际经验取值为914293,作为乘数作用于srcId和dstId,使边均匀地分布在多个边表分区,减少TPIN0网络中边密集区域造成的负载不均衡;%表示取余操作,sqrt()表示对括号内数值求平方根,得到的所属边表分区Id∈{0,1,...,NumPartition2-1};
Step2:将V中的点基于哈希分区方法根据每个点的VertexId,将点表数据均匀地分成NumPartition1个点表分区;所述哈希分区方法如下:
所属点表分区Id=(VertexId.hashCode())modNumPartition1;
其中,得到的所属点表分区Id∈{0,1,...,NumPartition1-1};
②生成辅助路由表,组成TPIN0;
Step1:对于每个边表分区的每条边,将它们的源点Id或终点Id与所属边表分区Id组成二元组,形如(L1,1);
Step2:将Step1所得结果按照点表V的分区方式协同分区;所述协同分区方法,按照一个已分区数据集的分区方法对另一个未分区的数据集进行分区,使两数据集的分布方式相同;
Step3:对每个点表分区内的二元组,消除重复二元组并进行聚集,得到每个顶点所有邻接边的所属边表分区Id的集合,由此构造出与点表结构相同的辅助路由表,用来指示点表中的每个顶点属性在与边表发生连接时应该移动到的边表分区;辅助路由表形如(VertexId,Vector[int]),其中,Vector[int]表示一个存放Int类型数值的动态数组;
至此,点表V、边表E和辅助路由表共同组成了完整的TPIN0。
所述的步骤2)对TPIN0首先进行GS分解,步骤如下:
Step1:根据辅助路由表中每个点的所属边表分区Id集合,将顶点的属性发送给它的每个邻接边所在的边表分区;
Step2:Scatter阶段;
首先,对边表分区的每条边,按照用户定义的消息发送函数,输出一条消息,消息格式形如:(receviver,Any),其中,receviver表示消息的目的顶点,Any表示任何类型的消息内容;其次,按照用户定义的消息聚集函数,对每个边表分区产生的receviver相同的消息进行分区内的局部聚集,所得结果构成了消息数据集M1;
Step3:Gather阶段;
首先,将M1与V进行协同分区,使每条消息被发送到它的目的顶点所在的点表分区;其次,再次按照用户定义的消息聚集函数,对协同分区后的M1进行聚集;最后,聚集所得结果构成了与点表V结构相同的消息数据集M2;
Step4:对M2与V进行连接操作后,每个点根据收到的消息修改自己的属性。
所述的对特定聚合算子进行模式识别并得到所有待聚合的顶点的具体操作为:
将TPIN0中的边表示为Edge(srcId,dstId,(Weightedge,Coloredge)),每个边的属性域表示为一个二元组,第一项表示该边的权值,满足Weightedge∈(0,1];第二项表示该边的颜色,满足Coloredge∈{CL,IR,IL,HR,TR};将TPIN0中的顶点表示为(VertexId,Colorvertex),每个顶点的属性表示该点的颜色,满足Colorvertex∈{C,B,L};
TPIN0中的点集为V,边集为E,表示为TPIN0=(V,E);
Step1:沿所有Coloredge为特定值的边向其源点或终点发送消息,得到所有可能匹配于特定聚合算子的点集,记为Matching;
Step2:首先,结合Matching中的顶点、连接Matching中任意两点的边以及GS全局聚集得到的消息数据集M2,确定所有匹配于特定聚合算子的顶点;其次,所有匹配点和连接这些点的边构成最小纳税人利益关联网络minTPIIN;minTPIIN的点表表示所有待聚合顶点的集合,记为VminTPIIN;边表记为EminTPIIN;
Step3:通过循环地沿EminTPIIN中的边发送消息,确定每个VminTPIIN中的点在针对特定聚合算子聚合之后的VertexId,并将映射关系存储在哈希表NewVid中。
所述的将所有待聚合顶点的信息同步到邻接边属性域中的具体操作为:
为E中所有边的属性域增加direct属性和changeTo属性;
如果一条边只有终点在VminTPIIN中,则changeTo取值为NewVid.get(e.srcId),direct取值为in,意为指向被聚合区域的边,被聚合区域是指一组互相连通的待聚合顶点;
如果一条边只有源点在VminTPIIN中,则changeTo取值为NewVid.get(e.dstId),direct取值为out,意为从被聚合区域发出的边;
如果一条边两端均在VminTPIIN中,则changeTo取值为-1,direct取值为remove,意为该边完全属于被聚合区域,聚合之后将被移除;
如果一条边两端均不在VminTPIIN中,则changeTo取值为-1,direct取值为remain,意为该边与任何被聚合区域没有联系,直接保留原属性;
形式化表述如下:
其中,对Weightedge属性和Coloredge属性赋值为下划线_,表示直接保留该属性的原值,不进行任何修改;NewVid.get(e.dstId))表示从哈希表NewVid中取得键为e.dstId的对应值,即边e的终点在针对特定聚合算子聚合之后的VertexId。
所述的产生约简后的边表newE的具体操作为:
①移除所有完全属于被聚合区域的边;
对每个边表分区的每条边,如果边的direct属性为remove,则直接从E中移除该边;
②修改源点或终点的VertexId;
对每个边表分区的每条边,如果边的direct属性为in,则将e.dstId修改为changeTo属性的值;如果边的direct属性为out,则将e.srcId修改为changeTo属性的值;如果边的direct属性为remain,则不修改该边的srcId和dstId;
③聚合重复边并修改聚合边的权值;
Step1:将所有边的属性域修改为(sum,Coloredge,direct,max,count);
其中,sum属性用来记录重复边的权值之和,初始值为Weightedge属性的值,count属性用来记录重复边的个数,初始值为1,max属性用来记录重复边权值中的最大值;
Step2:对所有重复边进行聚集;
所述聚集的具体操作为:如果两条边的srcId、dstId、Coloredge属性均相同,则将它们约简为一条聚合边;聚合边的sum属性值和count属性值为两条边sum属性值和count属性值之和;聚合边的max属性值为两条边max属性值的较大值;
Step3:计算聚合边的权值;
使用一种多节点聚合边权重计算方法,对不同颜色和方向的边的权值采取不同的修改策略;结合direct属性和Coloredge属性,计算聚合边的权值,所得结果构成了约简后的边表newE;
所述多节点聚合边权重计算方法如下:
for(e:newE):
其中,for(e:newE):表示对于newE中的每条边e进行冒号后的操作,e.(Weightedge,Coloredge)=表示对边e的Weightedge属性和Coloredge属性赋值。
所述的产生约简后的点表newV的具体操作为:
对于每个点表分区的每个顶点,如果它不在VminTPIIN中,则说明该顶点没有被聚合,直接保留到约简后的点表中;如果一个顶点在VminTPIIN中,则进一步判断它针对特定聚合算子聚合之后的VertexId,即NewVid.get(v.VertexId),与它的VertexId是否相同;如果相同,说明该顶点是它所在的被聚合区域中VertexId值最小的顶点,将保留到约简后的点表中;如果不同,则将该顶点从V中移除,表示该顶点被聚合为VertexId为NewVid.get(v.VertexId)的顶点;所得结果构成了约简后的点表newV。
所述的构造纳税人利益关联网络TPIN的具体操作为:首先基于顶点分割方法,对newV和newE进行分区;其次,生成辅助路由表,组成纳税人利益关联网络TPIN,表示为TPIN=(newV,newE);构造出的TPIN就是TPIN0针对多种聚合算子进行约简的结果。
与现有技术相比,本发明提出的并行生成方法具有以下的有益效果:
(1)高效率:本方法基于Spark并行计算框架,使用多种分区策略将大规模的涉税数据分给各个计算单元,通过多个计算单元的并行计算使得生成纳税人利益关联网络的效率大大提升,克服了现有方法TPIN生成慢的问题;
(2)可扩展:本方法采用的分布式计算方法,可以通过增加集群规模来应对规模不断增大的涉税数据,克服了现有TPIN生成方法应对超大规模涉税数据时无法同时载入内存进行分析,进而无法生成纳税人利益关联网络的问题;
(3)奠基性:本方法对存在信息冗余的利益关联初始网络进行了约简,并将约简产生的纳税人关联网络最终存储在分布式文件系统中。为后续基于纳税人利益关联网络的税务指标挖掘和图分析的并行化奠定了基础。
进一步的,本发明提出的辅助路由表用来指示点表中的每个顶点属性在与边表发生连接时应该移动到的边表分区,能够加快V和E的两表连接速度,避免GS分解过程中盲目地向所有边表分区传播顶点的属性。
附图说明
图1为本发明方法并行生成纳税人利益关联网络的流程图;
图2为基于哈希方法根据纳税人原始信息构造点表V的过程示意图;
图3为根据相关部门的信息构造边表E的过程示意图;
图4(a)为基于顶点分割分区方法数据存储示意图;
图4(b)为基于TPIN0数据存储结构示意图;
图5为基于GS分解实现以边为导向及并行计算的过程示意图。
图6为针对法人之间互为亲属的聚合算子的TPIN0约简过程示意图。
具体实施方式
下面结合附图对本发明做进一步的详细说明。
实际情况下并行生成方法将应用于规模较大,节点度上万的实际税务数据之上。
参见图1,纳税人利益关联网络的生成需要经过从原始数据中提取生成纳税人利益关联初始网络TPIN0的点表和边表101;基于顶点分割方法对点表和边表进行分区,得到纳税人利益关联初始网络102;基于GS分解方法在利益关联网络中并行发送消息103;针对多种聚合算子对TPIN0进行约简104;最后将生成的TPIN并行输出105。
具体生成过程如下:
1)构造纳税人利益关联初始网络TPIN0;
⑴构造TPIN0的点表V;
如图2所示,从总局数据中心读入企业的工商局注册信息和证监会上市公司信息,基于哈希分区方法根据每条记录的纳税人内部码将这些信息分成负载相对平衡的NumPartition1个数据分区,将NumPartition1个分区的数据分发给Slave节点控制的计算单元。并为每条记录添加Color属性,所得结果构成了TPIN0的点表V。
⑵构造TPIN0的边表E;
首先将户籍部门的信息、金融机构披露的信息、税务部门的电子发票信息按点表V的哈希分区方法进行协同分区。对每个分区的每条记录,映射出表示纳税人利益关联关系的二元组。最后为二元组增加包含Color属性和权值属性的属性域,所得结果构成TPIN0的边表E。
如图3所示,在已生成的点表V的基础上,根据企业的工商局注册信息和证监会上市公司信息,得到实际控制边和控股边,分别设置颜色属性为CL和HR,权值属性为1和区间(0,1]内的值302;根据户籍信息,得到亲属边,设置颜色属性为IR,权值属性为1303;根据金融机构披露的信息,得到利益互锁边,设置颜色属性为IL,权值属性为1304;根据税务部门的电子发票信息,得到单向交易边,设置颜色属性为TR,权值属性为区间(0,1]内的值305。
⑶构造可并行计算的TPIN0;
采用图4(a)所示的顶点分割分区方法,得到两个分区内部网络相对完整的边表分区和两个基于哈希分区方法的点表分区。其中,分区数量仅为2的原因是示例的微型利益关联网络的顶点和边的数量很少,在实际情况下需要产生几千个边表分区和点表分区。如图4(b)所示,分区后的点表V和边表E,和一个与点表结构相同的辅助路由表,共同构成了完整的TPIN0。
如图5所示,一次完整的GS分解过程经过如下步骤:
Step1:根据辅助路由表中每个点的所属边表分区Id集合,将顶点的属性发送给它的每个邻接边所在的边表分区。
Step2:Scatter阶段;
首先,对边表分区的每条边,按照用户定义的消息发送函数,输出一条消息,消息格式形如:(receviver,Any),其中,receviver表示消息的目的顶点,Any表示任何类型的消息内容。其次,按照用户定义的消息聚集函数,对每个边表分区产生的receviver相同的消息进行分区内的局部聚集,所得结果构成了消息数据集M1。
Step3:Gather阶段;
首先,将M1与V进行协同分区,使每条消息被发送到它的目的顶点所在的点表分区。其次,按照用户定义的消息聚集函数,再次对协同分区后的M1进行聚集。最后,聚集所得结果为与点表V结构相同的消息数据集M2。
Step4:对M2与V进行连接操作后,每个点根据收到的消息修改自己的属性。
2)TPIN0针对多种聚合算子的约简
所述多种聚合算子主要包括法人之间互为亲属的聚合算子、同一法人实际控制多个企业的聚合算子和董事互锁关系的聚合算子,以及它们的扩展形式。下面分别说明每种聚合算子的模式识别过程。
⑴针对法人之间互为亲属的聚合算子的模式识别经过如下步骤:
Step1:沿所有Coloredge=CL的边向边的源点并行发送消息,得到可能匹配聚合算子的点集Matching:
其中,{v|条件}表示所有满足|后条件的点v的集合。(谓词)表示存在属于边表E的边e,满足后面括号内的谓词条件。∧表示逻辑与。
Step2:如果两个属于Matching的顶点之间存在Coloredge=IR边,那么认为这两个顶点匹配于法人之间互为亲属的聚合算子。称这两个法人顶点和它们共同连接的企业顶点构成I型最小纳税人利益关联网络minTPIIN-I,minTPIIN-I的点表如下:
其中,∨表示逻辑或。
Step3:在minTPIIN-I找到每个待聚合顶点在聚合之后的VertexId,即与之连通的其他顶点的VertexId和自身VertexId的最小值。输出元素个数为|VminTPIN-I|哈希表NewVidI。
for(v1:VminTPIIN-I):
for(v2:conV):
tmp=min(v2.VertexId,v1.VertexId)
NewVidI.set(v1.VertexId)=tmp
其中,|VminTPIN-I|表示集合VminTPIIN-I的基数,即点表VminTPIIN-I的记录个数。NewVidI.set(v.VertexId)表示为哈希表NewVidI的v.VertexId键赋值,conV是所有在minTPIIN-I中与v1连通的点集。
⑵针对同一法人实际控制多个企业的聚合算子的模式识别经过如下步骤:
Step1:沿所有Coloredge=CL的边向边的终点并行发送消息,消息内容为自己的VertexId,得到可能匹配聚合算子的点集Matching
注意此式中,判定条件为边的终点Id,而不再是源点Id。
所得包含全部消息的哈希表为Message
for(e:E):
if(e.Coloredge=="CL")
Message.set(e.dstId)=e.srcId
其中,Message.set(e.dstId)=e.srcId)表示向VertexId为e.dstId的顶点发送消息,消息内容为e.srcId,也就是这条颜色为CL的边的源点Id。双等号(==)表示判断左边与右边是否相等,等价于集合表达式中的等号=,条件出现在if语句中所以使用了双等号。
Step2:如果两个属于Matching的顶点收到消息中的VertexId相同,说明这两个顶点由同一法人实际控制,匹配于同一法人实际控制多个企业的聚合算子。这个法人顶点和他实际控制的多个企业顶点构成II型最小纳税人利益关联网络minTPIIN-II。minTPIIN-II点表如下:
Step3:在minTPIIN-II找到每个待聚合顶点在聚合之后的VertexId,即Message消息与之相同的其他顶点的VertexId和自身VertexId的最小值。输出元素个数为|VminTPIIN-II|哈希表NewVidII。
for(v1:VminTPIIN-II):
for(v2:mesEqV):
tmp=min(v2.VertexId,v1.VertexId)
NewVidII.set(v1.VertexId)=tmp
其中,mesEqV表示VminTPIIN-II中所有Message值与v1相同的点集。
⑶针对董事互锁关系的聚合算子的模式识别经过如下步骤:
Step1:对图G中的企业顶点进行过滤
首先过滤掉存在单个法人或董事控股超过51%的企业,然后过滤掉存在实际控制边CL的企业。
Step2:沿所有Coloredge=TR的边向边的源点并行发送消息,消息内容为边的权值和源点Id,得到可能匹配聚合算子的点集Matching。
所得包含全部消息的哈希表为Message
for(e:E):
if(e.Coloredge=="TR")
Message.set(e.srcId)=(e.dstId,e.Weightedge)
Step3:如果多个属于Matching的顶点之间有IL利益互锁边进行连接,则继续聚集求出这些顶点对每个企业的控股比例之和。如果控股之和大于51%,那么这些顶点匹配于董事互锁关系的聚合算子。称多个董事顶点和被多个董事依据利益互锁关系所控制的企业顶点构成III型最小纳税人利益关联网络minTPIIN-III。
Step4:在minTPIIN-III找到每个待聚合顶点在聚合之后的VertexId,即与之连通的其他顶点的VertexId和自身VertexId的最小值。输出一个元素个数为|VminTPIIN-III|哈希表NewVidIII。
for(v1:VminTPIIN-III):
for(v2:conV):
tmp=min(v2.VertexId,v1.VertexId)
NewVidIII.set(v1.VertexId)=tmp
如图6所示,TPIN0针对法人之间互为亲属的聚合算子的约简经过如下步骤:
首先,通过两次完整的GS分解发送消息,得到所有匹配于法人之间互为亲属的聚合算子的顶点,以及它们在聚合后的VertexId,所得结果为图中的minTPIIN-I。其次,将所有待聚合顶点的信息同步到它们的邻接边的属性域中,所得结果为图中的TPINtmp。最后,产生约简后的点表和边表,构造出约简后的纳税人利益关联网络TPIN1。TPIN1经过针对其他聚合算子的类似约简过程之后,得到最终的纳税人利益关联初始网络TPIN。
以上所述仅为本发明的方法实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于Spark的纳税人利益关联网络并行生成方法,其特征在于,包括以下步骤:
1)、从原始数据中构造纳税人利益关联初始网络TPIN0;
所述的原始数据包括企业的工商局注册信息、证监会上市公司信息、户籍部门的信息、金融机构披露的信息以及税务部门的电子发票信息;
(1)基于哈希分区方法,根据纳税人原始信息,即企业的工商局注册信息以及证监会上市公司信息,构造TPIN0的点表V;
(2)基于协同分区方法,根据相关部门的信息,即户籍部门的信息、金融机构披露的信息以及税务部门的电子发票信息,构造TPIN0的边表E;
(3)基于顶点分割的分区方法,构造可并行计算的TPIN0;
2)、使用多种聚合算子对TPIN0进行约简,得到TPIN;
(1)对特定聚合算子进行模式识别并得到所有待聚合的顶点;
(2)将所有待聚合顶点的信息同步到邻接边的属性域中;
(3)利用多节点聚合边权重计算方法,产生约简后的边表newE;
(4)修改所有待聚合节点的属性,产生约简后的点表newV;
(5)基于顶点分割的分区方法,构造纳税人利益关联网络TPIN;
3)、并行输出纳税人利益关联网络TPIN0。
2.根据权利要求1所述的基于Spark的纳税人利益关联网络并行生成方法,其特征在于,所述的哈希分区方法具体步骤为:
Step1:从总局数据中心读入企业的工商局注册信息和证监会上市公司信息,每条记录的数据格式形如:
Step2:基于哈希分区方法根据每条记录的纳税人内部码将这些信息分成NumPartition1个数据分区,所述数据分区是原始数据的子集,不同分区的数据之间不存在交叉,且各个分区的数据量相对均衡;将NumPartition1个分区的数据分发给Slave节点,Slave节点控制的每个计算单元分别负责处理一个分区的数据;所述哈希分区方法如下:
记录所属分区Id=(纳税人内部码.hashCode())modNumPartition1;
其中,纳税人内部码.hashCode()表示求纳税人内部码的哈希值,mod表示左边数值对右边数值取余,得到的记录所属分区Id∈{0,1,...,NumPartition1-1};
Step3:首先,每个计算单元从各自处理分区的企业注册信息和上市公司信息中,过滤出所有的企业、企业实际控制人和企业董事;因为每个分区的数据之间不存在依赖关系,使用多个计算单元同时过滤不同分区的数据以实现并行过滤;其次,对于每个分区过滤出的信息,按照类别添加Color属性,设置Color(企业)=C、Color(企业实际控制人)=L、Color(企业董事)=B,所得结果构成了TPIN0的点表V;V中每个点的格式为(VertexId,Colorvertex)。
3.根据权利要求1所述的基于Spark的纳税人利益关联网络并行生成方法,其特征在于,所述的协同分区方法具体步骤为:
Step1:按照一个已分区数据集的分区方法对另一个未分区的数据集进行分区,使两个数据集的分布方式相同;将户籍部门的信息、金融机构披露的信息、税务部门的电子发票信息按照点表V的分区方式进行协同分区;
Step2:对每个分区的每条记录,映射出表示纳税人利益关联关系的二元组,作为TPIN0的边,形如(L1,C1);
Step3:为每条边添加属性域;
对每个分区映射出的每个二元组,添加一个元组类型的元素扩展形成三元组,添加的元素为边的属性域,用来表示边的多个属性,如:着色加权图的权值、着色加权图的颜色、程序运行状态、程序变量、消息和用户定义属性;
Step4:为每条边的属性域增加颜色属性;
基于纳税人利益关联关系,为属性域添加颜色属性,设置Color(实际控制关系)=CL、Color(互为亲属关系)=IR、Color(控股关系)=HR、Color(利益互锁关系)=IL、Color(单向交易关系)=TR;得到带颜色属性的边,形如(L1,C1,(CL));
Step5:为每条边的属性域增加权值属性;
为所有颜色为CL、IL、IR的边的属性域添加权值属性,设置权值为1,表示顶点之间存在绝对的利益关联关系;结果形如Edge(L1,C1,(1,CL));
为所有颜色为HR的边的属性域添加权值属性,根据该企业董事对该企业的控股百分比设置权值,取值范围为(0,1];结果形如Edge(B1,C1,(0.2,HR));
为所有颜色为TR的边的属性域添加权值属性,根据源点企业和终点企业的利益关联度函数设置权值,取值范围为(0,1];结果形如Edge(C1,C2,(0.05,TR));其中,单向交易边的权值用来判断源点企业和终点企业是否存在潜在的偷漏税行为;上述过程的所得结果构成了TPIN0的边表E,E的数据结构表示为Edge(srcId,dstId,(Weightedge,Coloredge)),三元组的第一个元素映射为E的字段属性srcId,第二个元素映射为E的字段属性dstId,属性域中的权值属性映射为E的字段属性Weightedge,属性域中的颜色属性映射为E的字段属性Coloredge。
4.根据权利要求1所述的基于Spark的纳税人利益关联网络并行生成方法,其特征在于,所述的基于顶点分割的分区方法,构造可并行计算TPIN0的具体步骤为:
①基于顶点分割方法,对V和E进行分区;
E中的每条边只属于一个边表分区,点的属性只属于一个点表分区,当点的邻接边分别属于不同边表分区时,该点就被分割给多个边表分区;
Step1:将E中的边基于2D分区方法均匀地分给每个边表分区,得到分区内部网络相对完整的NumPartition2个边表分区;所述2D分区方法是指基于边的源点Id和终点Id,计算边所属的边表分区,计算过程如下:
col=(srcId×Prime)%sqrt(NumPartition2)
row=(dstId×Prime)%sqrt(NumPartition2)
所属边表分区Id=(col×sqrt(NumPartition2)+row)%NumPartition2
其中,Prime表示一个足够大的素数,作为乘数作用于srcId和dstId,使边均匀地分布在多个边表分区,减少TPIN0网络中边密集区域造成的负载不均衡;%表示取余操作,sqrt()表示对括号内数值求平方根,得到的所属边表分区Id∈{0,1,...,NumPartition2-1};
Step2:将V中的点基于哈希分区方法根据每个点的VertexId,将点表数据均匀地分成NumPartition1个点表分区;所述哈希分区方法如下:
所属点表分区Id=(VertexId.hashCode())modNumPartition1;
其中,得到的所属点表分区Id∈{0,1,...,NumPartition1-1};
②生成辅助路由表,组成TPIN0;
Step1:对于每个边表分区的每条边,将它们的源点Id或终点Id与所属边表分区Id组成二元组,形如(L1,1);
Step2:将Step1所得结果按照点表V的分区方式协同分区;所述协同分区方法,按照一个已分区数据集的分区方法对另一个未分区的数据集进行分区,使两数据集的分布方式相同;
Step3:对每个点表分区内的二元组,消除重复二元组并进行聚集,得到每个顶点所有邻接边的所属边表分区Id的集合,由此构造出与点表结构相同的辅助路由表,用来指示点表中的每个顶点属性在与边表发生连接时应该移动到的边表分区;辅助路由表形如(VertexId,Vector[int]),其中,Vector[int]表示一个存放Int类型数值的动态数组;
至此,点表V、边表E和辅助路由表共同组成了完整的TPIN0。
5.根据权利要求4所述的基于Spark的纳税人利益关联网络并行生成方法,其特征在于,所述的步骤2)对TPIN0首先进行GS分解,步骤如下:
Step1:根据辅助路由表中每个点的所属边表分区Id集合,将顶点的属性发送给它的每个邻接边所在的边表分区;
Step2:Scatter阶段;
首先,对边表分区的每条边,按照用户定义的消息发送函数,输出一条消息,消息格式形如:(receviver,Any),其中,receviver表示消息的目的顶点,Any表示任何类型的消息内容;其次,按照用户定义的消息聚集函数,对每个边表分区产生的receviver相同的消息进行分区内的局部聚集,所得结果构成了消息数据集M1;
Step3:Gather阶段;
首先,将M1与V进行协同分区,使每条消息被发送到它的目的顶点所在的点表分区;其次,再次按照用户定义的消息聚集函数,对协同分区后的M1进行聚集;最后,聚集所得结果构成了与点表V结构相同的消息数据集M2;
Step4:对M2与V进行连接操作后,每个点根据收到的消息修改自己的属性。
6.根据权利要求1所述的基于Spark的纳税人利益关联网络并行生成方法,其特征在于,所述的对特定聚合算子进行模式识别并得到所有待聚合的顶点的具体操作为:
将TPIN0中的边表示为Edge(srcId,dstId,(Weightedge,Coloredge)),每个边的属性域表示为一个二元组,第一项表示该边的权值,满足Weightedge∈(0,1];第二项表示该边的颜色,满足Coloredge∈{CL,IR,IL,HR,TR};将TPIN0中的顶点表示为(VertexId,Colorvertex),每个顶点的属性表示该点的颜色,满足Colorvertex∈{C,B,L};
TPIN0中的点集为V,边集为E,表示为TPIN0=(V,E);
Step1:沿所有Coloredge为特定值的边向其源点或终点发送消息,得到所有可能匹配于特定聚合算子的点集,记为Matching;
Step2:首先,结合Matching中的顶点、连接Matching中任意两点的边以及GS全局聚集得到的消息数据集M2,确定所有匹配于特定聚合算子的顶点;其次,所有匹配点和连接这些点的边构成最小纳税人利益关联网络minTPIIN;minTPIIN的点表表示所有待聚合顶点的集合,记为VminTPIIN;边表记为EminTPIIN;
Step3:通过循环地沿EminTPIIN中的边发送消息,确定每个VminTPIIN中的点在针对特定聚合算子聚合之后的VertexId,并将映射关系存储在哈希表NewVid中。
7.根据权利要求6所述的基于Spark的纳税人利益关联网络并行生成方法,其特征在于,所述的将所有待聚合顶点的信息同步到邻接边属性域中的具体操作为:
为E中所有边的属性域增加direct属性和changeTo属性;
如果一条边只有终点在VminTPIIN中,则changeTo取值为NewVid.get(e.srcId),direct取值为in,意为指向被聚合区域的边,被聚合区域是指一组互相连通的待聚合顶点;
如果一条边只有源点在VminTPIIN中,则changeTo取值为NewVid.get(e.dstId),direct取值为out,意为从被聚合区域发出的边;
如果一条边两端均在VminTPIIN中,则changeTo取值为-1,direct取值为remove,意为该边完全属于被聚合区域,聚合之后将被移除;
如果一条边两端均不在VminTPIIN中,则changeTo取值为-1,direct取值为remain,意为该边与任何被聚合区域没有联系,直接保留原属性;
形式化表述如下:
其中,对Weightedge属性和Coloredge属性赋值为下划线_,表示直接保留该属性的原值,不进行任何修改;NewVid.get(e.dstId))表示从哈希表NewVid中取得键为e.dstId的对应值,即边e的终点在针对特定聚合算子聚合之后的VertexId。
8.根据权利要求6所述的基于Spark的纳税人利益关联网络并行生成方法,其特征在于,所述的产生约简后的边表newE的具体操作为:
①移除所有完全属于被聚合区域的边;
对每个边表分区的每条边,如果边的direct属性为remove,则直接从E中移除该边;
②修改源点或终点的VertexId;
对每个边表分区的每条边,如果边的direct属性为in,则将e.dstId修改为changeTo属性的值;如果边的direct属性为out,则将e.srcId修改为changeTo属性的值;如果边的direct属性为remain,则不修改该边的srcId和dstId;
③聚合重复边并修改聚合边的权值;
Step1:将所有边的属性域修改为(sum,Coloredge,direct,max,count);
其中,sum属性用来记录重复边的权值之和,初始值为Weightedge属性的值,count属性用来记录重复边的个数,初始值为1,max属性用来记录重复边权值中的最大值;
Step2:对所有重复边进行聚集;
所述聚集的具体操作为:如果两条边的srcId、dstId、Coloredge属性均相同,则将它们约简为一条聚合边;聚合边的sum属性值和count属性值为两条边sum属性值和count属性值之和;聚合边的max属性值为两条边max属性值的较大值;
Step3:计算聚合边的权值;
使用一种多节点聚合边权重计算方法,对不同颜色和方向的边的权值采取不同的修改策略;结合direct属性和Coloredge属性,计算聚合边的权值,所得结果构成了约简后的边表newE;
所述多节点聚合边权重计算方法如下:
for(e:newE):
其中,for(e:newE):表示对于newE中的每条边e进行冒号后的操作,e.(Weightedge,Coloredge)=表示对边e的Weightedge属性和Coloredge属性赋值。
9.根据权利要求6所述的基于Spark的纳税人利益关联网络并行生成方法,其特征在于,所述的产生约简后的点表newV的具体操作为:
对于每个点表分区的每个顶点,如果它不在VminTPIIN中,则说明该顶点没有被聚合,直接保留到约简后的点表中;如果一个顶点在VminTPIIN中,则进一步判断它针对特定聚合算子聚合之后的VertexId,即NewVid.get(v.VertexId),与它的VertexId是否相同;如果相同,说明该顶点是它所在的被聚合区域中VertexId值最小的顶点,将保留到约简后的点表中;如果不同,则将该顶点从V中移除,表示该顶点被聚合为VertexId为NewVid.get(v.VertexId)的顶点;所得结果构成了约简后的点表newV。
10.根据权利要求1所述的基于Spark的纳税人利益关联网络并行生成方法,其特征在于,所述的构造纳税人利益关联网络TPIN的具体操作为:首先基于顶点分割方法,对newV和newE进行分区;其次,生成辅助路由表,组成纳税人利益关联网络TPIN,表示为TPIN=(newV,newE);构造出的TPIN就是TPIN0针对多种聚合算子进行约简的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510924355.4A CN105574761B (zh) | 2015-12-11 | 2015-12-11 | 一种基于Spark的纳税人利益关联网络并行生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510924355.4A CN105574761B (zh) | 2015-12-11 | 2015-12-11 | 一种基于Spark的纳税人利益关联网络并行生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105574761A true CN105574761A (zh) | 2016-05-11 |
CN105574761B CN105574761B (zh) | 2016-11-30 |
Family
ID=55884860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510924355.4A Active CN105574761B (zh) | 2015-12-11 | 2015-12-11 | 一种基于Spark的纳税人利益关联网络并行生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105574761B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106327320A (zh) * | 2016-08-18 | 2017-01-11 | 西安交通大学 | 基于纳税人利益关联网络的价格错配偷漏税行为识别方法 |
CN106447482A (zh) * | 2016-09-18 | 2017-02-22 | 西安交通大学 | 一种结合纳税信用等级和交易关系网络的税务稽查方法 |
CN106504084A (zh) * | 2016-11-16 | 2017-03-15 | 航天信息股份有限公司 | 一种用于识别供应链中核心企业的方法及系统 |
CN108132998A (zh) * | 2017-12-21 | 2018-06-08 | 浪潮软件集团有限公司 | 一种人员关系分析方法和系统 |
CN108242019A (zh) * | 2016-12-26 | 2018-07-03 | 航天信息股份有限公司 | 基于spark的小规模纳税人年应税销售额的监控方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7974857B1 (en) * | 2002-12-12 | 2011-07-05 | Accenture Global Services Limited | Unemployment insurance management |
CN104103011A (zh) * | 2014-07-10 | 2014-10-15 | 西安交通大学 | 一种基于纳税人利益关联网络的可疑纳税人识别方法 |
CN104112074A (zh) * | 2014-07-15 | 2014-10-22 | 西安交通大学 | 基于直觉模糊集的纳税人利益关联度评估方法 |
CN104156905A (zh) * | 2014-08-15 | 2014-11-19 | 西安交通大学 | 一种基于纳税人利益关联网络的重点监控企业评估方法 |
KR20140135398A (ko) * | 2013-05-16 | 2014-11-26 | 김기복 | 온라인 재무제표 자동 기장 시스템 |
-
2015
- 2015-12-11 CN CN201510924355.4A patent/CN105574761B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7974857B1 (en) * | 2002-12-12 | 2011-07-05 | Accenture Global Services Limited | Unemployment insurance management |
KR20140135398A (ko) * | 2013-05-16 | 2014-11-26 | 김기복 | 온라인 재무제표 자동 기장 시스템 |
CN104103011A (zh) * | 2014-07-10 | 2014-10-15 | 西安交通大学 | 一种基于纳税人利益关联网络的可疑纳税人识别方法 |
CN104112074A (zh) * | 2014-07-15 | 2014-10-22 | 西安交通大学 | 基于直觉模糊集的纳税人利益关联度评估方法 |
CN104156905A (zh) * | 2014-08-15 | 2014-11-19 | 西安交通大学 | 一种基于纳税人利益关联网络的重点监控企业评估方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106327320A (zh) * | 2016-08-18 | 2017-01-11 | 西安交通大学 | 基于纳税人利益关联网络的价格错配偷漏税行为识别方法 |
CN106327320B (zh) * | 2016-08-18 | 2018-06-26 | 西安交通大学 | 基于纳税人利益关联网络的价格错配偷漏税行为识别方法 |
CN106447482A (zh) * | 2016-09-18 | 2017-02-22 | 西安交通大学 | 一种结合纳税信用等级和交易关系网络的税务稽查方法 |
CN106504084A (zh) * | 2016-11-16 | 2017-03-15 | 航天信息股份有限公司 | 一种用于识别供应链中核心企业的方法及系统 |
CN108242019A (zh) * | 2016-12-26 | 2018-07-03 | 航天信息股份有限公司 | 基于spark的小规模纳税人年应税销售额的监控方法及系统 |
CN108132998A (zh) * | 2017-12-21 | 2018-06-08 | 浪潮软件集团有限公司 | 一种人员关系分析方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105574761B (zh) | 2016-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105574761A (zh) | 一种基于Spark的纳税人利益关联网络并行生成方法 | |
Hauknes et al. | Embodied knowledge and sectoral linkages: An input–output approach to the interaction of high-and low-tech industries | |
CN109034398A (zh) | 基于联邦训练的特征选择方法、装置及存储介质 | |
Wang et al. | Collaborative multicenter vehicle routing problem with time windows and mixed deliveries and pickups | |
CN103678671A (zh) | 一种社交网络中的动态社区检测方法 | |
CN102708130A (zh) | 计算用户微细分以用于要约匹配的可扩展引擎 | |
Chang et al. | Data analysis of digital currency networks: Namecoin case study | |
CN111475837B (zh) | 一种网络大数据隐私保护方法 | |
CN108153917A (zh) | 一种可视化定义人地房关系的不动产调查建库方法 | |
Alves et al. | A review of network DEA models based on slacks‐based measure: evolution of literature, applications, and further research direction | |
CN113919763A (zh) | 一种基于模糊评判矩阵的电网灾害分析方法及装置 | |
CN104765763B (zh) | 一种基于概念格的异构空间信息服务分类的语义匹配方法 | |
Banshal et al. | Computer science research in India: a scientometric study | |
CN105404608B (zh) | 一种基于公式解析的复杂指标集计算方法和系统 | |
CN110532266A (zh) | 一种数据处理的方法和装置 | |
CN109857661A (zh) | 一种基于大数据分析的智能生成测试用例的方法及系统 | |
CN103631797B (zh) | 用于数据列表的操作方法和装置 | |
CN115270947A (zh) | 标准化能效服务模型构建方法、系统、终端及存储介质 | |
CN112417018B (zh) | 一种数据共享方法及装置 | |
Xianli et al. | GLOBAL TRENDS AND CHARACTERISTICS OF THE PUBLICATIONS IN ECONOMIC COMPUTATION AND ECONOMIC CYBERNETICS STUDIES AND RESEARCH FROM 1969 TO 2020 BASED ON BIBLIOMETRIC ANALYSIS. | |
CN113392164A (zh) | 构建纵向联邦树的方法、主服务器、业务平台和系统 | |
CN104657426A (zh) | 一种基于统一视图的行列混合数据存储模型的建立方法 | |
CN113392101A (zh) | 构建横向联邦树的方法、主服务器、业务平台和系统 | |
CN108549669A (zh) | 一种面向大数据的离群点检测方法 | |
Johansson | Real options in energy investments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |