一种企业圈的生成方法及系统与流程

文档序号:11134191阅读:395来源:国知局
一种企业圈的生成方法及系统与制造工艺

本发明涉及一种企业圈的生成方法及系统。



背景技术:

随着互联网的快速发展,社会迅速进入了大数据时代;各种数据激增,企业信息也不例外,每天注册的企业不计其数。另外,互联网的快速发展也促进了社会的透明度,各行各业的信息都或多或少的能够在网上查询到。工商局所属的“企业信用信息查询系统”就可以查询到企业的一些基本信息。但是,现有技术存在以下问题:

第一,从“全国企业信用信息公示系统”只能一次只能查找一个具体企业的基本的信息,股东,主要人员;不能够分析出企业在同一个圈子的其它企业。

第二,根据“全国企业信用信息公示系统”可获取的企业信息之间并没有直接的关系,而且全国各个省份的“全国企业信用信息公示系统”的数据格式各不相同。

第三,在混乱复杂的互联网数据中快速挖掘出企业所在的企业圈子无比的困难。



技术实现要素:

本发明的目的就是为了解决上述问题,提供一种企业圈的生成方法及系统,把有关系的企业关联起来,让数据来说话,告诉用户它们所在的同一个圈子。

为了实现上述目的,本发明采用如下技术方案:

一种企业圈的生成方法,包括如下步骤:

步骤(1):定义两个集合:enterpriseMap集合和maps集合;

步骤(2):接收用户输入的人员的名字,将所述人员的名字对应的企业存储到enterpriseMap集合中;

步骤(3):对enterpriseMap集合中的企业节点两两进行碰撞,根据人员名字重叠情况对企业节点进行合并;

步骤(4):进一步判断步骤(3)合并后的企业节点各自是否还存在关联企业,若存在,将关联企业与企业节点共同作为子集和存储到maps集合中;

步骤(5):对maps集合中的子集合进行碰撞,将maps集合中的子集合进行合并处理;maps集合中的合并处理后的子集合为企业圈。

所述enterpriseMap集合为键值对集合,用来存储一个企业对应多个人员,键为企业名称,值为企业所关联到的人员。

所述maps集合用来存储分组过程中的数据。

所述步骤(2)的步骤为:

接收用户输入的参数Qi,参数Qi为第i个人员的名字,根据第i个人员的名字Qi查找第i个人员的节点Vi,根据第i个人员的节点Vi查找第i个人员的节点Vi所对应的第i个人员第j家企业的企业节点Zij;将第i个人员的节点Vi作为键,将获取的第i个人员第j家企业的企业节点Zij作为值,存入到enterpriseMap集合中;i是正整数,j是正整数;

所述步骤(3)的步骤为:对enterpriseMap集合中的企业节点两两进行碰撞,分别获得两个企业节点所关联的人员节点的人员名称,判断进行碰撞的两个企业节点具有相同人员名称的人员数量是否大于等于两个;若是则将两个企业节点合并为一组;进入步骤(4);若否则进行下一组企业节点碰撞。

所述步骤(4)的步骤为:根据合并为一组的两家企业的共同的人员是否出现在其他企业相关人员的集合中来判断合并为一组的两家企业是否还有关联的企业节点,

若合并为一组的两家企业的共同的人员出现在其他企业相关人员的集合中则合并为一组的两家企业还有关联的企业节点,则将关联的企业合并到所述两家企业所在的组中;将企业形成的组作为子集和,存储到maps集合中;从enterpriseMap集合中删除存储到maps集合中的企业;

若合并为一组的两家企业的共同的人员未出现在其他企业相关人员的集合中则合并为一组的两家企业没有关联的企业节点,则进入步骤(5)。

所述步骤(5)的步骤为:

取第一个子集合,与maps集合中的其他子集合依次碰撞,如果第一个子集合与其他子集合有相同的企业,则把具有相同企业的子集合数据都合并到第一个子集合中,并从maps中删除具有相同企业的子集和;

取第二个子集合,将第二个子集合与除第一个子集合外的其他子集合依次碰撞,如果第二个子集合与除第一个子集合外的其他子集合有相同的企业,则把具有相同企业的子集合数据都合并到第二个子集合中,并从maps集合中删除具有相同企业的子集合;

以此类推,将maps集合中的子集合进行合并处理。

一种企业圈的生成系统,包括:

集合定义模块:定义两个集合:enterpriseMap集合和maps集合;

用户输入接收模块:接收用户输入的人员的名字,将所述人员的名字对应的企业存储到enterpriseMap集合中;

企业节点碰撞模块:对enterpriseMap集合中的企业节点两两进行碰撞,根据人员名字重叠情况对企业节点进行合并;

关联企业判断模块:进一步判断合并后的企业节点各自是否还存在关联企业,若存在,将关联企业与企业节点共同作为子集和存储到maps集合中;

子集合碰撞模块:对maps集合中的子集合进行碰撞,将maps集合中的子集合进行合并处理;maps集合中的合并处理后的子集合为企业圈。

所述enterpriseMap集合为键值对集合,用来存储一个企业对应多个人员,键为企业名称,值为企业所关联到的人员。

所述maps集合用来存储分组过程中的数据。

所述用户输入接收模块:

接收用户输入的参数Qi,参数Qi为第i个人员的名字,根据第i个人员的名字Qi查找第i个人员的节点Vi,根据第i个人员的节点Vi查找第i个人员的节点Vi所对应的第i个人员第j家企业的企业节点Zij;将第i个人员的节点Vi作为键,将获取的第i个人员第j家企业的企业节点Zij作为值,存入到enterpriseMap集合中;i是正整数,j是正整数;

所述企业节点碰撞模块:对enterpriseMap集合中的企业节点两两进行碰撞,分别获得两个企业节点所关联的人员节点的人员名称,判断进行碰撞的两个企业节点具有相同人员名称的人员数量是否大于等于两个;若是则将两个企业节点合并为一组;进入关联企业判断模块;若否则进行下一组企业节点碰撞。

所述关联企业判断模块:根据合并为一组的两家企业的共同的人员是否出现在其他企业相关人员的集合中来判断合并为一组的两家企业是否还有关联的企业节点,

若合并为一组的两家企业的共同的人员出现在其他企业相关人员的集合中则合并为一组的两家企业还有关联的企业节点,则将关联的企业合并到所述两家企业所在的组中;将企业形成的组作为子集和,存储到maps集合中;从enterpriseMap集合中删除存储到maps集合中的企业;

若合并为一组的两家企业的共同的人员未出现在其他企业相关人员的集合中则合并为一组的两家企业没有关联的企业节点,则进入子集合碰撞模块。

所述子集合碰撞模块:

取第一个子集合,与maps集合中的其他子集合依次碰撞,如果第一个子集合与其他子集合有相同的企业,则把具有相同企业的子集合数据都合并到第一个子集合中,并从maps中删除具有相同企业的子集和;

取第二个子集合,将第二个子集合与除第一个子集合外的其他子集合依次碰撞,如果第二个子集合与除第一个子集合外的其他子集合有相同的企业,则把具有相同企业的子集合数据都合并到第二个子集合中,并从maps集合中删除具有相同企业的子集合;

以此类推,将maps集合中的子集合进行合并处理。

本发明的有益效果:

公安机关在抓捕犯罪嫌疑人查找证据时,可以通过本系统,可以快速获取与犯罪嫌疑人名下企业是否与指定的企业有关联关系,极大程度的缩减了公安机关网上自已查询整理数据的时间和精力,避免了警力浪费,为提前破案提供了有效辅助。

律师在帮人打官司时,可以快速锁定企业间被后的关联关系,防止对方提前进行资产转移、提供虚假证明等非法行为,最大程序的保护当事人的合法权限。

企业招投标过程,有效发现招标企业和投标企业、及各投标企业间的关联关系,杜绝内幕行为。

税务部门在执行过程中,对有偷税漏税嫌疑的企业,可以有效发现和其有关联企业,并对这些企业进行密切关注。

为其他对企业关联关系关注的人士提供快捷的查询通道,省时省力。

附图说明

图1为本发明的流程图;

图2为本发明的功能模块图。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

工商局所属的“企业信用信息查询系统”就可以查询到企业的一些基本信息。为此,就可以基于这些数据,做一些相关的分析,如针对于企业的数据,我们可在互联网收集此企业的信息及其直接相关的周边事项,然后从庞大的数据中找出企业间的隐含关系,即企业圈。

1)建模。为了方便系统的实现,本系统采用图数据库titan来作为后端存储。由于要查询企业关系,最关键的是建立企业间的层级关联关系。所以,共设计两种类型的节点:

企业节点和人员节点,连线则根据企业与企业或企业与人之间的关系动态创建。如企业“山东中创软件工程股份有限公司”,由“全国企业信用信息公示系统”查询得知,该企业法定代表人为“景新海”,企业法人有“济南创业信息技术发展有限公司”。则针对“山东中创软件工程股份有限公司”、“济南创业信息技术发展有限公司”创建两个企业节点:“山东中创软件工程股份有限公司”可以直接得到该企业的注册号,则主键为该企业的注册号,名称为“山东中创软件工程股份有限公司”;“济南创业信息技术发展有限公司”为“山东中创软件工程股份有限公司”的法人代表,暂时无法得到该企业的注册号,则该节点的主键和名称均使用“济南创业信息技术发展有限公司”。针对“景新海”,创建人员节点:该节点的主键和名称为该人员的名字“景新海”。同时创建“景新海”指向“山东中创软件工程股份有限公司”的连线,该连线的类型为“法定代表人”;创建“济南创业信息技术发展有限公司”指向“山东中创软件工程股份有限公司”的连线,该连线的类型为“企业法人”。

2)采集数据并入库。编写爬虫,采集全国各省市的企业信息,并按照上述规则进行入库。在入库时,对于人员节点,如果名称相同,则认为是同一人,使用同一节点;对于企业节点,首先按主键查询是否已经存在,如果已经存在,则直接创建连线,如果不存在,则按名字进行查询,存在则更新,不存在,则新建企业节点。

3)查询。编写系统,提交企业圈查询服务。

如图1所示,首先,系统声明两个集合enterpriseMap和maps。enterpriseMap为键值对集合,用来存储一个企业对应多个人员,键为企业名称,值为该企业所关联到的其他人员或企业maps用来存储分组过程中的的数据。

其次,接收用户输入的参数:Q1;Q1为一个人员的名字,如:景新海。根据景新海查找出名称为“景新海”的节点V1,根据V1找出它所有指向的企业节点,将V1作为键,将获取到的其他节点作为值,存入到enterpriseMap中。

第三,对enterpriseMap中的企业节点两两进行碰撞:分别获两个企业所有关联的人员节点的人员名称,如果这两个企业间有2个以上的相同名称的人员,则将这两个企业分为一组。同时如果这两个企业还有关联到的其他企业节点,则同这两个企业分到同一组。如企业“山东中创软件工程股份有限公司”和企业“济南创业信息技术发展有限公司”有相同名称的人员“景新海”“姚克荣”等2位以上的相同人员,则将“山东中创软件工程股份有限公司”、“济南创业信息技术发展有限公司”分为同一组。同时,还关联到“山东中创实业发展总公司”,“山东中创物业发展有限公司”等公司,则“山东中创软件工程股份有限公司”、“济南创业信息技术发展有限公司”、“山东中创实业发展总公司”,“山东中创物业发展有限公司”应分到同一组,将他们放到同一个集合中,然后将该集合放到maps集合中。

第四、对maps集合中的子集合,再次进行碰撞:

第五、取第一个子集合,与后边的子集合依次碰撞,如果第一个子集合与其他的子集合有相同的企业,则把有相同企业的子集合数据都合并到第一个子集合中,并从maps中删除该集合;

第六、取第二个子集合,将第二个子集合与除第一个子集合外的其他子集合依次碰撞,如果第二个子集合与其他的子集合有相同的企业,则把有相同企业的子集合数据都合并到第二个子集合中,并从maps中删除该集合;如此依次将maps中的集合处理。

查看maps中获取分组数据元素。Maps中有几个子集合,则说明Q1人员有几个可能的企业圈。Maps子集合中直接存放的是企业节点,同一个子集合中的企业则在同一个圈中,他们有直接或间接的关系。

如图2所示,一种企业圈的生成系统,包括:

集合定义模块:定义两个集合:enterpriseMap集合和maps集合;

用户输入接收模块:接收用户输入的人员的名字,将所述人员的名字对应的企业存储到enterpriseMap集合中;

企业节点碰撞模块:对enterpriseMap集合中的企业节点两两进行碰撞,根据人员名字重叠情况对企业节点进行合并;

关联企业判断模块:进一步判断合并后的企业节点各自是否还存在关联企业,若存在,将关联企业与企业节点共同作为子集和存储到maps集合中;

子集合碰撞模块:对maps集合中的子集合进行碰撞,将maps集合中的子集合进行合并处理;maps集合中的合并处理后的子集合为企业圈。

所述enterpriseMap集合为键值对集合,用来存储一个企业对应多个人员,键为企业名称,值为企业所关联到的人员。

所述maps集合用来存储分组过程中的数据。

所述用户输入接收模块:

接收用户输入的参数Qi,参数Qi为第i个人员的名字,根据第i个人员的名字Qi从数据库中查找第i个人员的节点Vi,根据第i个人员的节点Vi从数据库中查找第i个人员的节点Vi所对应的第i个人员第j家企业的企业节点Zij;将第i个人员的节点Vi作为键,将获取的第i个人员第j家企业的企业节点Zij作为值,存入到enterpriseMap集合中;i是正整数,j是正整数;

所述企业节点碰撞模块:对enterpriseMap集合中的企业节点两两进行碰撞,分别获得两个企业节点所关联的人员节点的人员名称,判断进行碰撞的两个企业节点具有相同人员名称的人员数量是否大于等于两个;若是则将两个企业节点合并为一组;进入关联企业判断模块;若否则进行下一组企业节点碰撞。

所述关联企业判断模块:根据合并为一组的两家企业的共同的人员是否出现在其他企业相关人员的集合中来判断合并为一组的两家企业是否还有关联的企业节点,

若合并为一组的两家企业的共同的人员出现在其他企业相关人员的集合中则合并为一组的两家企业还有关联的企业节点,则将关联的企业合并到所述两家企业所在的组中;将企业形成的组作为子集和,存储到maps集合中;从enterpriseMap集合中删除存储到maps集合中的企业;

若合并为一组的两家企业的共同的人员未出现在其他企业相关人员的集合中则合并为一组的两家企业没有关联的企业节点,则进入子集合碰撞模块。

所述子集合碰撞模块:

取第一个子集合,与maps集合中的其他子集合依次碰撞,如果第一个子集合与其他子集合有相同的企业,则把具有相同企业的子集合数据都合并到第一个子集合中,并从maps中删除具有相同企业的子集和;

取第二个子集合,将第二个子集合与除第一个子集合外的其他子集合依次碰撞,如果第二个子集合与除第一个子集合外的其他子集合有相同的企业,则把具有相同企业的子集合数据都合并到第二个子集合中,并从maps集合中删除具有相同企业的子集合;

以此类推,将maps集合中的子集合进行合并处理。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1