CN112702264A - 一种分布式网络特征计算方法 - Google Patents
一种分布式网络特征计算方法 Download PDFInfo
- Publication number
- CN112702264A CN112702264A CN202011357397.1A CN202011357397A CN112702264A CN 112702264 A CN112702264 A CN 112702264A CN 202011357397 A CN202011357397 A CN 202011357397A CN 112702264 A CN112702264 A CN 112702264A
- Authority
- CN
- China
- Prior art keywords
- storage unit
- structure storage
- characteristic
- calculation
- distributed
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 40
- 230000014509 gene expression Effects 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims description 9
- 230000006855 networking Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 4
- 238000013461 design Methods 0.000 abstract description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000010195 expression analysis Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6245—Modifications to standard FIFO or LIFO
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式网络特征计算方法,包括:特征表达式生成及解析和分布式路由计算,所述特征表达式生成及解析通过提取特征表达式中的元素形成可解析列表;根据可解析列表解析特征表达式;所述分布式路由计算包括:根据权重算法为各节点分配待机算的社交网络,各节点接收到“计算特征消息”后各节点拉取分配给自己的网络进行特征计算。本发明基于对复杂的特征表达式的解析和分布式计算为基础,适配了业务场景下所有特征条件复杂计算的可能性,以模板的设计方式提高了开发效率,通过分布式计算的方式极大的缩短了特征计算的时间。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式网络特征计算方法。
背景技术
在风控、社交、电商等业务中,通常会用到关系网络的数据。比如你在电商中你所在的网里关系比较近的人购买了母婴类产品,那么会为你推荐此类商品以提高购买率。比如在金融风控中,你所在的网里中介、电诈的人较多,那么你所处的关系网是高危网,里面的人贷款申请会大概率被拒绝,以降低风险。所以事物的网络特征,是作为延展出这个事物画像的重要指标。在反欺诈的业务场景中,经常会对一个人的关系网络进行分析,如当前关系网络中逾期人数的占比是多少、GPS小格子中的人数有多少、网络中的平均授信额度是多少等,这些特征的结果会作为风险人员进行判断的重要指标。但是在实际业务场景下,一个网络往往会配置成百上千个特征,也就意味着一个用户的请求在网络特征计算上会进行成百上千次。
目前对网络特征计算大多采用图数据库的方法进行计算,根据官方文档搭建图数据库环境,导入相关数据,根据配置的特征对数据库中网络进行统计并维护图数据库。但此种方法需要部署和维护一套高可用的图数据库环境,研发维护成本高且业务方需要学习图数据库的查询语言导致学习成本高。同时无法快速精准的查询某一个全网数据,并且网络特征计算速度慢。
发明内容
针对现有技术中存在的问题,本发明提供一种分布式网络特征计算方法,其目的在于:基于对复杂的特征表达式的解析和分布式计算为基础,适配了业务场景下所有特征条件复杂计算的可能性,以模板的设计方式提高了开发效率,通过分布式计算的方式极大的缩短了特征计算的时间。
本发明一种分布式网络特征计算方法,包括特征表达式生成及解析和分布式路由计算组成,
所述特征表达式生成及解析包括:提取特征表达式中的元素形成元素队列;建立列表结构存储单元和栈结构存储单元;将栈结构存储单元中剩余的所有元素按后进先出的顺序弹出栈结构存储单元,并依次放入列表结构存储单元中,形成可解析列表;解析特征表达式。
进一步的,所述特征表达式生成及解析还包括:
将特征表达式中的元素分为变量、运算符和分隔符三类,在特征解析装置的内存中建立队列结构存储单元,将特征表达式中的所有元素按照从左到右的顺序逐一进行提取存放到所述的队列结构存储单元中,形成元素队列;
建立列表结构存储单元和栈结构存储单元;遍历所述的元素队列,将元素队列中的变量依次放入列表结构存储单元中,运算符和分隔符分别依次放入栈结构存储单元中,根据放入栈结构存储单元中的运算优先级属性的分隔符,将该分割符和相关的运算符依次从栈结构存储单元中弹出并放入列表结构存储单元中;
遍历完元素队列后,将栈结构存储单元中剩余的所有元素按后进先出的顺序弹出栈结构存储单元,并依次放入列表结构存储单元中,从而形成可解析列表;
遍历所述可解析列表,将可解析列表中的元素依次放入栈结构存储单元中,如果放入的元素为运算符,将栈结构存储单元中与该运算符相关的变量分别从栈结构存储单元中弹出并与运算符进行运算,再将运算后的结果放入栈结构存储单元中,直到栈结构存储单元中没有元素为止。
本发明通过对复杂的特征表达式进行解析计算,极大地丰富了特征配置的多样性,为业务方提供了更多的策略配置。
所述分布式路由计算包括:在社交网络组网完毕后,保存网络ID、节点和边的数据;查询参与特征计算的节点及相应节点的权重值;根据权重算法为节点分配待计算的社交网络并保存到redis数据库中,广播通知参与计算的节点机器,节点机器接收到“计算特征任务”的消息后,各个节点拉取分配给自己的社交网络进行特征计算。其中权重算法是一个待权重的轮询算法,假设3台机器A、B、C,每台机器默认的权重为1。在分配网络数据时,会按照相同权重A B C A B C去分配。如果A的权重现在为2,那么会按照A A B C A A B C去分配。
进一步的,所述分布式路由计算还包括:
每一个参与计算的节点机器都保存在数据库的节点明细表中,该节点明细表中包括每个节点机器的权重值,在分配待机算的社交网络时,会把每一个节点机器的权重值作为权重比例进行加权计算,计算好的结果会以主机名为key保存在redis中;
根据redis自带的发布订阅消息,每一个参与计算的节点机器都可以订阅一个固定的“计算特征任务”的消息,当此消息发布后,订阅了此消息的节点都可以接收到这条消息数据,收到消息后每个计算节点机器从redis中通过主机名key拉取各自对应的待机算网络进行特征计算。
本发明通过分布式的路由策略,可以把上千万的特征均匀的负载给不同的计算节点,极大的缩短了特征计算的时间,并且支持计算节点的水平扩展,还可以通过权重值的配置为不同性能的计算节点动态的分配特征数量。
本发明由特征表达式生成及解析和分布式路由计算共同组成,特征表达式生成及解析和分布式路由计算之间虽然并不存在逻辑关系,但这两者必须共同具备后才能实现本发明的目的:基于对复杂表达式的解析、分布式计算为基础,适配了业务场景下所有特征条件复杂计算的可能性,以模板的设计方式提高了开发效率,通过分布式计算的方式极大的缩短了特征计算的时间。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是本发明一种分布式网络特征计算方法的特征表达式生成算法的流程图;
图2是本发明一种分布式网络特征计算方法的特征表达式解析算法的流程图;
图3是本发明一种分布式网络特征计算方法的分布式路由计算的流程图;
图4是数据库中的节点明细表;
图5是根据每台机器配置的权重分配待计算的网络数据图;
图6是广播通知节点机器进行计算的流程图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例的描述中,需要说明的是,术语“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面结合图1、图2、图3对本发明作详细说明。
1.如图1本发明一种分布式网络特征计算方法的特征表达式生成及解析算法的流程图所示,特征表达式生成算法包括:
对于每一个社交网络都会配置许多的特征,特征本质上来说其实就是一个算数表达式,比如"网内逾期人数的占比"就是"逾期人数/网内总人数"。下面为了理解方便,我们以一个基本算数表达式举例。
首先一个表达式分为三个部分,变量(如3、0、2等)、运算符(如+、-、*等)、分隔符(大括号等)
声明一个基本的表达式如:3+(3-0)*2;
遍历声明的表达式生成基础的列表tokens("3","+","(","3","-","0",")","*","2");
声明一个列表list和一个栈stack;遍历列表tokens遇到变量即放入列表tokens,遇到运算符即压入栈stack;
如:遇到变量3,加入列表list(3);遇到运算符+,压入栈stack(+);遇到分隔符"(",压入栈stack('+','(');遇到变量3,加入列表list(3,3);遇到运算符-,压入栈stack('+','(','-');遇到变量0,加入列表list(3,3,0)。
遇到分隔符")",依次弹出栈stack中的运算符并放入列表list中,直到遇到"("为止。本次操作弹出运算符'-'加入列表list('3','3','0','-');遇到运算符*,压入栈stack('+','*');遇到变量2,加入列表list('3','3','0','-','2')。
依次压出运算符栈中数据,加入到列表list('3','3','0','-','2','*',"+"),当前列表list就是最终的可解析的表达式列表expressionTokens。
2.如图2本发明一种分布式网络特征计算方法的特征表达式解析算法的流程图所示,
特征表达式解析算法包括:
获取生成好的可解析的表达式列表expressionTokens("3","3","0","-","2","*","+");
遍历列表expressionTokens遇到变量即压入栈stack;列表前三个均为遍历,当前栈为stack(3,3,0);
遇到运算符"-",栈stack(3,3,0)弹出变量"3","0",栈中还剩下数据stack(3),变量与运算符一起计算得出结果3-0=3,将结果"3"压入栈statck(3,3);
遇到变量"2",将变量压入栈stack(3,3,2)
遇到运算符"*",stack(3,3,2)弹出变量"3","2",栈中还剩下数据stack(3),变量与运算符一起计算得出结果3*2=6,将结果"6"压入栈statck(3,6);
遇到运算符"+",stack(3,6)弹出变量"3","6",当前stack中无任何数据,变量与运算符一起计算得出结果3+6=9,最后返回结果9。
3.如图3本发明一种分布式网络特征计算方法的分布式路由计算的流程图所示,
分布式路由计算包括:
在社交网络组网完毕后,保存网络ID、节点、边的数据;
查询参与特征计算的节点及相应节点的权重值如图4所示;
根据权重算法为节点分配待计算的社交网络并保存进redis,如图5所示;
广播通知参与计算的节点机器,如图6所示;
接收到"计算特征消息"后各节点机器拉取分配给自己的网络进行特征计算。
以上所述实施例仅表达了本申请的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请技术方案构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。
Claims (3)
1.一种分布式网络特征计算方法,其特征在于包括:特征表达式生成及解析和分布式路由计算;
所述特征表达式生成及解析包括:提取特征表达式中的元素形成元素队列;建立列表结构存储单元和栈结构存储单元;将栈结构存储单元中剩余的所有元素按后进先出的顺序弹出栈结构存储单元,并依次放入列表结构存储单元中,形成可解析列表;解析特征表达式;
所述分布式路由计算包括:在社交网络组网完毕后,保存网络ID、节点和边的数据;查询参与特征计算的节点及相应节点的权重值;根据权重算法为节点分配待计算的社交网络并保存到redis数据库中,由广播通知参与计算的节点机器,节点机器接收到“计算特征任务”的消息后,各个节点拉取分配给自己的社交网络进行特征计算。
2.如权利要求1所述的一种分布式网络特征计算方法,其特征在于所述特征表达式生成及解析还包括:
将特征表达式中的元素分为变量、运算符和分隔符三类,在特征解析装置的内存中建立队列结构存储单元,将特征表达式中的所有元素按照从左到右的顺序逐一进行提取存放到所述的队列结构存储单元中,形成元素队列;
建立列表结构存储单元和栈结构存储单元;遍历所述的元素队列,将元素队列中的变量依次放入列表结构存储单元中,运算符和分隔符分别依次放入栈结构存储单元中,根据放入栈结构存储单元中分隔符的运算优先级属性,将该分隔符和相关的运算符依次从栈结构存储单元中弹出并放入列表结构存储单元中;
遍历完元素队列后,将栈结构存储单元中剩余的所有元素按后进先出的顺序弹出栈结构存储单元,并依次放入列表结构存储单元中,从而形成可解析列表;
遍历所述可解析列表,将可解析列表中的元素依次放入栈结构存储单元中,如果放入的元素为运算符,将栈结构存储单元中与该运算符相关的变量分别从栈结构存储单元中弹出并与运算符进行运算,再将运算后的结果放入栈结构存储单元中,直到栈结构存储单元中没有元素为止。
3.如权利要求1所述的一种分布式网络特征计算方法,其特征在于所述分布式路由计算还包括:
每一个参与计算的节点机器都保存在数据库的节点明细表中,该节点明细表中包括每个节点机器的权重值,在分配待机算的社交网络时,会把每一个节点机器的权重值作为权重比例进行加权计算,计算好的结果会以主机名为key保存在redis中;
根据redis自带的发布订阅消息,每一个参与计算的节点机器都可以订阅一个固定的“计算特征任务”的消息,当此消息发布后,订阅了此消息的节点都可以接收到这条消息数据,收到消息后每个计算节点机器从redis中通过主机名key拉取各自对应的待机算网络进行特征计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011357397.1A CN112702264A (zh) | 2020-11-27 | 2020-11-27 | 一种分布式网络特征计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011357397.1A CN112702264A (zh) | 2020-11-27 | 2020-11-27 | 一种分布式网络特征计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112702264A true CN112702264A (zh) | 2021-04-23 |
Family
ID=75506675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011357397.1A Pending CN112702264A (zh) | 2020-11-27 | 2020-11-27 | 一种分布式网络特征计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112702264A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404615A (zh) * | 2011-11-29 | 2012-04-04 | 广东威创视讯科技股份有限公司 | 基于云计算的视频处理*** |
US20130205028A1 (en) * | 2012-02-07 | 2013-08-08 | Rackspace Us, Inc. | Elastic, Massively Parallel Processing Data Warehouse |
CN110995725A (zh) * | 2019-12-11 | 2020-04-10 | 北京明略软件***有限公司 | 数据处理方法和装置、电子设备及计算机可读存储介质 |
CN111008020A (zh) * | 2019-12-24 | 2020-04-14 | 四川新网银行股份有限公司 | 将逻辑表达式解析为通用查询语句的方法 |
CN111444236A (zh) * | 2020-03-23 | 2020-07-24 | 华南理工大学 | 一种基于大数据的移动终端用户画像构建方法及*** |
CN111787055A (zh) * | 2020-05-22 | 2020-10-16 | 中国科学院信息工程研究所 | 一种基于Redis且面向事务机制和多数据中心的数据分发方法和*** |
CN111966719A (zh) * | 2020-10-21 | 2020-11-20 | 四川新网银行股份有限公司 | 一种分布式消费信贷***本地数据缓存实时刷新的方法 |
-
2020
- 2020-11-27 CN CN202011357397.1A patent/CN112702264A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404615A (zh) * | 2011-11-29 | 2012-04-04 | 广东威创视讯科技股份有限公司 | 基于云计算的视频处理*** |
US20130205028A1 (en) * | 2012-02-07 | 2013-08-08 | Rackspace Us, Inc. | Elastic, Massively Parallel Processing Data Warehouse |
CN110995725A (zh) * | 2019-12-11 | 2020-04-10 | 北京明略软件***有限公司 | 数据处理方法和装置、电子设备及计算机可读存储介质 |
CN111008020A (zh) * | 2019-12-24 | 2020-04-14 | 四川新网银行股份有限公司 | 将逻辑表达式解析为通用查询语句的方法 |
CN111444236A (zh) * | 2020-03-23 | 2020-07-24 | 华南理工大学 | 一种基于大数据的移动终端用户画像构建方法及*** |
CN111787055A (zh) * | 2020-05-22 | 2020-10-16 | 中国科学院信息工程研究所 | 一种基于Redis且面向事务机制和多数据中心的数据分发方法和*** |
CN111966719A (zh) * | 2020-10-21 | 2020-11-20 | 四川新网银行股份有限公司 | 一种分布式消费信贷***本地数据缓存实时刷新的方法 |
Non-Patent Citations (1)
Title |
---|
李源昊等: ""面向移动社会网络的用户年龄与性别特征识别"", 《计算机应用》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106469413B (zh) | 一种虚拟资源的数据处理方法及装置 | |
CN105430100A (zh) | 一种用户价值的评估方法、装置及其应用方法和*** | |
CN112800095A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN110032576A (zh) | 一种业务处理方法以及装置 | |
CN103248677A (zh) | 互联网行为分析***及其工作方法 | |
CN112566093A (zh) | 一种终端关系识别方法、装置、计算机设备及存储介质 | |
CN113569162A (zh) | 数据处理方法、装置、设备及存储介质 | |
Drezner et al. | A directional approach to gradual cover | |
CN114282011A (zh) | 知识图谱的构建方法和装置、图计算方法及装置 | |
CN112365109B (zh) | 配送路径信息生成方法、装置、电子设备和可读介质 | |
CN110175438A (zh) | 分享账号检测方法及相关设备 | |
CN111353001B (zh) | 对用户进行分类的方法和装置 | |
Katuk et al. | A scientometric analysis of the emerging topics in general computer science | |
CN112702264A (zh) | 一种分布式网络特征计算方法 | |
de Andrade Júnior et al. | Fully retroactive minimum spanning tree problem | |
CN111966916A (zh) | 一种推荐方法、装置、电子设备及计算机可读存储介质 | |
CN107767278B (zh) | 社群层次结构构建方法和装置 | |
CN110851655B (zh) | 一种用于简化复杂网络的方法和*** | |
CN110309848A (zh) | 离线数据与流式数据实时融合计算的方法 | |
CN108804462B (zh) | 一种广告推荐方法、装置及服务器 | |
CN109919811A (zh) | 基于大数据的保险代理人培养方案生成方法及相关设备 | |
EP4318375A1 (en) | Graph data processing method and apparatus, computer device, storage medium and computer program product | |
KR102457356B1 (ko) | 뉴럴 네트워크를 이용하는 마케팅 비용 효율 산정 방법 및 상기 마케팅 비용 효율 산정 방법을 수행하는 전자 시스템 | |
Mukul et al. | Evaluation of smart cities with integrated hesitant fuzzy linguistic AHP–COPRAS method | |
CN115277436B (zh) | 一种基于拓扑结构的微服务软件架构识别方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210423 |