CN116501726B - 基于GraphX图计算的信创云平台数据化运营系统 - Google Patents

基于GraphX图计算的信创云平台数据化运营系统 Download PDF

Info

Publication number
CN116501726B
CN116501726B CN202310733435.6A CN202310733435A CN116501726B CN 116501726 B CN116501726 B CN 116501726B CN 202310733435 A CN202310733435 A CN 202310733435A CN 116501726 B CN116501726 B CN 116501726B
Authority
CN
China
Prior art keywords
data
user
information
graph
cloud
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.)
Active
Application number
CN202310733435.6A
Other languages
English (en)
Other versions
CN116501726A (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.)
Shanghai Data Center of China Life Insurance Co Ltd
Original Assignee
Shanghai Data Center of China Life Insurance Co Ltd
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 Shanghai Data Center of China Life Insurance Co Ltd filed Critical Shanghai Data Center of China Life Insurance Co Ltd
Priority to CN202310733435.6A priority Critical patent/CN116501726B/zh
Publication of CN116501726A publication Critical patent/CN116501726A/zh
Application granted granted Critical
Publication of CN116501726B publication Critical patent/CN116501726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于GraphX图计算的信创云平台数据化运营系统,包括:数据采集模块,用于采集接入终端的信息以及访问的云服务ServiceId,并形成埋点日志;数据清洗和预处理模块用于对所述埋点日志进行数据清洗和预处理;智能分析模块,用于基于预处理后的数据构成前一天对应云服务的用户接入无向信息图组成的森林结构,并基于GraphX图建模算法实现用户关联设备字典建模,并依托Spark分布式内存计算引擎得到所有云服务前一天用户活跃度的统计;数据更新模块,用于根据智能分析模块的分析结果对用户设备信息字典数据和活跃度信息进行更新。本发明能够对大量传统方案无法处理的未登录日志进行挖掘,提升了云平台数字化运营的准确度与精密度。

Description

基于GraphX图计算的信创云平台数据化运营系统
技术领域
本发明涉及云平台数据化技术领域,特别是涉及一种基于GraphX图计算的信创云平台数据化运营系统。
背景技术
随着云计算和大数据等科技新基建的日趋成熟,国内在信息技术应用创新背景下,以国产CPU、操作系统为底座,自主研发的兼顾计算、存储、网络的综合信创云计算平台,成为各大数据中心加速行业数字化转型,提升自主可控云建设的优选。通过前期不断建设优化升级,信创云平台逐渐由建设规划迈向智慧运营新阶段,如何通过智能化数字化运营方式服务一线、贴近用户成为了信创云平台新的优化课题。
传统数据中心云平台为了充分发挥数据驱动运营,通常以各个云服务的活跃度为切入点,将用户的日活跃度、月活跃度等一段时间内用户行为进行量化,以量化结果为数据依据,分别从云服务维度和用户维度进行优化发掘。从云服务活跃维度,对于云服务活跃度较低的情况,对应服务的研发团队可进一步针对其功能、性能、实用性、需求等情况进行挖掘迭代调优;对于活跃度较高的云服务,运维管理员可及时关注底层物理资源池分配情况,以便提前做好扩容准备;从用户维度,通过对云平台不同租户下所有用户的行为活跃分析,进而实现企业租户画像建模,用数字化手段更加了解用户的实际需求。
传统云平台针对不同云服务用户活跃度的分析,依赖于用户从终端登录之后识别相应的用户,并对其浏览行为进行采集,然用户在实际真实使用过程中,除非确定要创建新的云资源或者变更已有云资源,通常对于潜在感兴趣的云服务功能浏览并不会登陆,传统根据登陆用户统计活跃度的方案则无法统计到大量未登陆情况下的活跃情况。对于未注册、或者未登陆产生浏览行为时,由于用户可能使用各种各样的终端设备,有着各种各样的访问入口,甚至同一用户拥有多个设备以及使用多种前端入口,包括电脑客户端、电脑网页端、不同版本的安卓手机客户端、不同版本的IOS手机客户端等,就会导致大量未登录行为日志无法判断哪些浏览行为属于同一个用户,是否已注册用户,且无法进行数据量化。
发明内容
本发明所要解决的技术问题是提供一种基于GraphX图计算的信创云平台数据化运营系统,能够对大量传统方案无法处理的未登录日志进行挖掘,提升了云平台数字化运营的准确度与精密度。
本发明解决其技术问题所采用的技术方案是:提供一种基于GraphX图计算的信创云平台数据化运营系统,包括:
数据采集模块,在前端入口制作埋点日志,用于在用户对云平台的云服务进行访问时,采集接入终端的信息以及访问的云服务ServiceId,并形成埋点日志;
数据清洗和预处理模块,包括数据清洗部分和数据预处理部分,所述数据清洗部分用于对所述埋点日志进行数据清洗;所述数据预处理部分用于对清洗后的数据进行预处理,得到全量记录浏览设备详细信息的IdMappingFile、用于计算后续各租户对于不同云服务的活跃度统计ServiceTenantActiveFile、以及用于计算后续不同云服务的用户活跃度统计ServiceActiveFile;
智能分析模块,用于基于IdMappingFile构成前一天对应云服务的用户接入无向信息图组成的森林结构,基于GraphX图建模算法实现用户关联设备字典建模,并依托Spark分布式内存计算引擎结合ServiceTenantActiveFile和ServiceActiveFile得到所有云服务前一天用户活跃度的统计;
数据更新模块,用于根据智能分析模块的分析结果对用户设备信息字典数据和活跃度信息进行更新。
所述数据采集模块采集的接入终端的信息包括用户在云平台的唯一识别ID、接入终端的入网许可证号、接入终端的Mac地址、接入终端的SIM卡序号、AndroidId、接入终端的设备序列号以及接入终端的IP地址。
所述数据清洗部分包括:第一数据丢弃单元,用于对所述埋点日志中缺少访问的云服务ServiceId的数据进行丢弃;第二数据丢弃单元,用于对所述埋点日志中缺少接入终端的信息的数据进行丢弃;第三数据丢弃单元,用于对所述埋点日志中非正常日期或者非前一天日期的数据进行丢弃。
所述数据预处理部分包括:扁平化处理单元,用于对清洗后的数据进行扁平化处理生成IdMappingLogFile;第一预处理单元,用于在IdMappingLogFile的基础上对每一行数据去除tenantId和serviceId两个属性,并对保留的每个属性值添加属性名称标签,得到全量记录浏览设备详细信息的IdMappingFile;第二预处理单元,用于对IdMappingLogFile中每一行数据从租户在各云服务活跃情况的角度进行计量,形成ServiceTenantActiveFile;第三预处理单元,用于对IdMappingLogFile中每一行数据从各云服务的用户活跃度计量,得到ServiceActiveFile。
所述智能分析模块包括:
森林结构构成单元,用于以IdMappingFile中的所有数值构成点集合,以IdMappingFile中的每一行属性按照顺序组成的关联关系构成边集合,基于所述点集合和边集合组成无向活跃图,构成森林结构;
关联设备字典形成单元,用于根据所述森林结构得到用户所有接入终端所有入口信息的最小连通分量,并基于所述最小连通分量形成用户关联设备字典文件;
统计文件更新单元,用于基于用户关联设备字典文件更新ServiceTenantActiveFile中中未登录无属主的浏览记录信息;
活跃度统计单元,用于通过Spark分布式内存计算引擎分别对更新后的ServiceTenantActiveFile和ServiceActiveFile进行并行分片计算,得到当天各租户对不同云服务的活跃度、以及不同云服务的用户活跃度。
所述数据更新模块采用HBase数据库根据智能分析模块的分析结果对用户设备信息字典数据和活跃度信息进行更新。
所述的基于GraphX图计算的信创云平台数据化运营系统还包括数据可视化模块,所述数据可视化模块包括后端服务单元和前端展示单元,所述后端服务单元用于针对不同时间段的活跃度进行查询计算;所述前端展示单元用于为运营管理员根据不同时间段租户数据刻画其近期云服务偏好需求画像。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明通过GraphX图计算创建了用户设备信息字典,并不断自动学习更新,实时存储在数据持久层,对未登陆的浏览信息通过查询设备信息字典可解析到其关联用户,因此对已注册未登陆用户的活跃度也可统计,大力提升了运营指标的精准性。本发明通过GraphX图计算创建的用户设备信息字典,可解析未注册浏览信息是否为同一用户,并纳入活跃度统计中,云服务活跃指标进一步趋近于实际需求。本发明对未注册用户的设备信息同样记录到用户设备字典中,可用于运营系统潜在用户数量指标分析。本发明所涉及到的海量浏览数据均采用了Spark分布式内存计算引擎,极大地提升了每日增量数据的运算效率。
附图说明
图1是本发明实施方式基于GraphX图计算的信创云平台数据化运营系统的整体架构图;
图2是本发明实施方式基于GraphX图计算的信创云平台数据化运营系统的建模流程图;
图3是本发明实施方式基于GraphX图计算的信创云平台数据化运营系统的部署流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的实施方式涉及一种基于GraphX图计算的信创云平台数据化运营系统,该系统架构如图1所示,其可以部署应用于大型保险公司数据中心实际生产环境中,该方法在传统云平台通过登录用户浏览日志进行运营数据分析的基础上,新增了GraphX分布式图计算智能分析等模块,通过收集用户浏览日志中携带的物理网卡Mac地址、入网许可证Imei序号、手机SIM卡Imsi序号、设备Device Id等固定标识,以及访问的云服务ServiceId,使用Spark分布式计算平台对海量日志数据利用GraphX算法生成最小连通组件,实现信创云平台用户活跃度更加精准的数据化运营分析。如图2所示,其具体实施分为五大模块。
数据采集模块,在前端入口制作埋点日志,用于在用户对云平台的云服务进行访问时,采集接入终端的信息以及访问的云服务ServiceId,并形成埋点日志。
本实施方式中的数据采集模块主要在云平台Pc网页端、Pc客户端、App客户端、微信小程序端做埋点日志,当用户进入云平台对某个云服务浏览点击时,对其设备信息、访问的云服务ServiceId进行采集。通常根据接入终端不同、终端系统版本不同,涉及到表1所示的五类Id:
表1
在本实施方式中,埋点程序会对用户Uuid、Imei、Mac、Imsi、AndroidId、SerialNumber、ip、云服务ServiceId均进行采集,其中Uuid为用户在云平台的唯一识别Id,若未登陆则为空;不涉及字段均可为空。
数据清洗和预处理模块,包括数据清洗部分和数据预处理部分,所述数据清洗部分用于对所述埋点日志进行数据清洗;所述数据预处理部分用于对清洗后的数据进行预处理,得到全量记录浏览设备详细信息的IdMappingFile、用于计算后续各租户对于不同云服务的活跃度统计ServiceTenantActiveFile、以及用于计算后续不同云服务的用户活跃度统计ServiceActiveFile。
本实施方式的数据清洗和预处理主要是针对数据采集模块每日采集到的埋点日志进行数据清洗和预处理,由于云平台每日会产生海量的浏览数据,因此本模块在运算过程中采用了Spark分布式内存计算引擎。首先通过预设置每日零点以后的定时任务,数据清洗和预处理模块调取采集模块中埋点生成的IdMappingLog,该Log中以Json格式记录了一次访问涉及的用户、服务、设备等信息,其中tenantId为用户所属的租户,只有用户登陆之后才能查到其归属租户。具体格式如表2所示:
表2
对于表2中一条示例浏览日志记录,通常在实际生产环境中,只有登陆用户userId、tenantId才有对应的值,对于高版本IOS系统通常只有的serialNumber,imei、imsi、androidId等信息则采集不到或者不涉及。
本实施方式中的数据清洗和预处理模块包括数据清洗部分和数据预处理部分。
其中,数据清洗部分用于对所述埋点日志进行数据清洗,其首先对获取到前一天IdMappingLog中的Json用户数据进行读取与清洗,通过第一清洗单元对缺少云服务ServiceId的数据进行丢弃,无ServiceId代表异常访问,或者用户进入首页后未对任何云服务产品进行浏览;通过第二清洗单元对imei、mac、imsi、androidId、SerialNumber、ip全部为空的数据进行丢弃,以上信息全部为空代表异常数据或者该条记录采集失败;通过第三清洗单元对accessTime非正常日期或者非前一天日期的数据进行丢弃,代表数据异常或者遗留脏数据。
数据预处理部分用于对清洗后的数据进行预处理,具体包括扁平化处理单元、第一预处理单元、第二预处理单元和第三预处理单元。
其中,扁平化处理单元使用Spark分布式内存计算引擎对清洗后的Json数据进行处理,按照表3格式将Json数据扁平化处理成IdMappingLogFile,并上传至HFDS(分布式文件系统)中。
表3
示例数据如表4所示:
表4
以上示例数据中第一行代表登陆用户,只有登陆用户才会采集到userId和tenantId;第二行数据代表采集到一条Android系统手机未登录用户的信息包含imei、mac、androidId、serialnumber、ip;第三行数据代表采集到一条Android系统手机未登录用户信息包含androidId;第四行数据代表采集到一条IOS或者Android系统手机端浏览数据,包含serialnumber;第五行和第四行采集到的属性一致。
本实施方式中面对云平台每日产生的海量浏览数据,预处理部分采用了Spark分布式内存计算引擎,指数级的提升数据运算和预处理能力,Spark Core是基于传统Hadoop分布式计算中MapReduce框架思想进行了改进优化,相较于传统分布式计算每一运算阶段均需从HDFS中读取文件,Spark Core将元数据与中间数据优先存储于内存中,除非内存不够使用了,才会置换到磁盘中一部分数据;此外Spark不再将每一次数据解析过程都划分为Map和Reduce阶段,而是通过Spark Core中Driver模块对程序逻辑进行提取,并构建出程序依赖关系的有向无环图(Build DAG),然后调用DAGScheduler模块对图进行切割划分成不同Stage(Split DAG to Stage)分发到各节点进行分布式运算,因此大大提升了运算效率。
本实施方式中的第一预处理单元、第二预处理单元和第三预处理单元的输入数据均为采集数据扁平化处理后的HDFS文件IdMappingLogFile,其输出为三个HDFS文件,包括生成一个全量记录浏览设备详细信息的IdMappingFile,一个用于计算后续各租户对于不同云服务的活跃度统计ServiceTenantActiveFile,以及一个用于计算后续不同云服务的用户活跃度统计ServiceActiveFile。
IdMappingFile主要在IdMappingLogFile的基础上对每一行数据去除tenantId 、serviceId两个属性,仅留下用户基础userId信息和采集到终端设备信息,并对每个属性值添加属性名称标签,以便后续通过GraphX图计算识别所有终端设备归属用户,或者和存量数据库中用户字典进行信息比对并更新用户字典。IdMappingFile具体文件格式如表5所示。
表5
按照示例数据输出的IdMappingFile格式如表6所示。
ServiceTenantActiveFile则对IdMappingLogFile中每一行数据从租户在各云服务活跃情况的角度进行计量,用以刻画租户偏好画像。本实施方式中针对一个云服务的一次浏览行为记为1个活跃度,对于登陆用户按照传统方案,将userId、tenantId、serviceId组合作为Key,Value为1,这里保留tenantId主要用作以租户维度的活跃度统计。对于大量未登陆用户的浏览记录,则采用采集信息中imei、mac、imsi、androidId、serialnumber、ip六个属性中一个作为Key,依次按照这六个属性的优先级次序,采用第一个非空属性作为Key值。ServiceTenantActiveFile具体文件格式如表7所示。
表7
按照示例数据输出的ServiceTenantActiveFile格式如表8所示。
表8
ServiceActiveFile是对IdMappingLogFile中每一行数据从各云服务的用户活跃度计量,不再细分到租户,仅对云服务的应用活跃情况进行分析,以便优化云服务。因此仅将serviceId作为Key,Value为1。ServiceActiveFile具体文件格式如表9所示。
表9
按照示例数据输出的ServiceActiveFile格式如表10所示。
智能分析模块,用于基于IdMappingFile构成前一天对应云服务的用户接入无向信息图组成的森林结构,基于GraphX图建模算法实现用户关联设备字典建模,并依托Spark分布式内存计算引擎结合ServiceTenantActiveFile和ServiceActiveFile得到所有云服务前一天用户活跃度的统计。
本实施方式的所述智能分析模块包括:
森林结构构成单元,用于以IdMappingFile中的所有数值构成点集合,以IdMappingFile中的每一行属性按照顺序组成的关联关系构成边集合,基于所述点集合和边集合组成无向活跃图,构成森林结构;
关联设备字典形成单元,用于根据所述森林结构得到用户所有接入终端所有入口信息的最小连通分量,并基于所述最小连通分量形成用户关联设备字典文件;
统计文件更新单元,用于基于用户关联设备字典文件更新ServiceTenantActiveFile中中未登录无属主的浏览记录信息;
活跃度统计单元,用于通过Spark分布式内存计算引擎分别对更新后的ServiceTenantActiveFile和ServiceActiveFile进行并行分片计算,得到当天各租户对不同云服务的活跃度、以及不同云服务的用户活跃度。
该智能分析模块通过将IdMappingFile中所有行中的所有数值作为顶点,每一行按照属性排列顺序组成的一组有关联关系的边集合,构成前一天对应云服务的用户接入无向信息图组成的森林结构,基于GraphX图建模算法实现用户设备字典建模,同时依托Spark分布式内存计算引擎最终实现对所有云服务前一天用户活跃度的精准统计,包括对已登陆用户的浏览行为统计,对已注册未登录使用不同终端不同入口浏览云服务的用户行为和其登陆后行为、以及数据库中该用户标识字典关联统一起来,以及对未注册未登录使用不同终端不同入口浏览云服务的用户行为使用一个唯一标记进行统计记录,并更新入用户设备字典,便于和日后其再次产生浏览行为、或后续完成注册后用户userId关联起来。
以IdMappingFile为例,生成的活跃度森林为文件中所有数值作为顶点,边集合为每一行属性按照顺序组成的关联关系,以第一行数据为例,如果按照<顶点1、顶点2>表示一条无向边,即对应的边为<userId_0d4c22c7af3d44d7ab7c1e9b8b3042d6, imei _868540050954128>、<imei _868540050954128、mac_6c:92:bf:73:d1:e7>等,以此类推。对于第三、四、五行数据,仅有一个数值的情况,其作为顶点如果在顶点集里已有则忽略,若像第五行是新的数值,则创建该顶点。
GraphX图计算的核心抽象是弹性分布式属性图(Resilient DistributedProperty Graph),所有输入数据将对应到一种点和边都可带有属性的有向或者无向多重图,这里是否有向可由程序输入参数设置,若指定为有向,则按照源节点、目标节点解析边,否则按照无向图解析。本方法中仅需要计算最小连通子图,不涉及请求关系,因此为无向多重图。GraphX有Table和Graph两种视图,本实施方式中使用了Table视图,即将针对某个云服务活跃度计算的输入IdMappingFile文件中数据,划分为RDD[VertexPartition]和RDD[EdgePartition]这两个RDD组成。这里RDD(Resilient Distributed Dataset)是GraphX引用了Spark Core中的概念,RDD指切分后分发到Spark集群中各个Worker的数据集,也指每个Stage处理输出的结果数据集,通过GraphX计算接口中graph.connectedComponents()函数不断迭代聚合邻边,最终直至生成多个最小连通分量组件。具体实现如下:
1)构造VertexPartition Table点集合:
GraphX为提升运算效率,需要对IdMappingFile中每一行用户数据每一个属性进行数字标准化。本实施方式中对于userId、imei等7个属性均采用统一哈希方式,并转化为Long类型的数值,具体转化方式调用了Scala语言中HashCode()方法,该方法的原理为根据String类型Value值为其计算一个对应的存储位置,此处采用哈希得出的存储位置并转化为Long类型来作为每一个属性的数字化标签,具体实现核心代码如表11所示。
表11
生成的VertexPartitionTable视图以IdMappingFile示例视图如表12所示。
表12
构造EdgePartition Table边集合,具体实现核心代码如表13所示。
表13
生成的EdgePartition Table视图以IdMappingFile示例视图如表14所示。
表14
通过点集合VertexPartition Table视图和边集合EdgePartition Table视图组成无向活跃图构成的森林,并调用graph.connectedComponents()算法生成最小连通分量。这里需要说明最终输出结果GraphX会选取每一个最小连通分量中的最小数值作为该组连通分量的标签,在本实施方式中可以得出,拥有同样标签的属性均为同一用户。具体实现核心代码如表15所示。
表15
通过GraphX图计算,本示例中直接输出结果如表16所示。
表16
由此可见标签为“-1272712167”均为同一用户属性,标签为“9668508078”为另一用户属性。通过程序转换应用关系,最终关系表为如表17所示。
表17
将最终解析结果转化为HDFS文件输出,形成用户关联设备字典文件,以IdMappingFile为示例文件,对于最终最小连通分量中存在userId的连通分量则将userId作为Key,连通分量中其他设备信息作为Value;对于最终最小连通分量中不包含userId信息,则需要根据设备相关Id进一步和数据库中存量用户字典信息比较判断,本实施方式中临时依次按照imei、mac、imsi、androidId、serialnumber、ip这六个属性的优先级次序选择非空的属性作为Key值,连通分量中其他设备信息作为Value。则本示例的输出结果为IdMappingFileOutput如表18所示。
表18
根据GraphX图计算的智能判别,更新ServiceTenantActiveFile中未登录无属主的浏览记录信息,若关联到相应的userId则将Key中设备信息置换为userId对应的租户tenantId,这里可能存在部分一个用户归属于多个租户的情况,对于此类情况,本实施方式按照ServiceTenantActiveFile中该用户当天访问对应云服务选择的任意租户之一进行标记。则本示例根据GraphX智能判别后进一步匹配的输出结果文件ServiceTenantActiveFileNew如表19所示。
表19
可以根据结果文件解析看到,该示例用户对对应云服务当天访问了3次,而传统云平台的活跃度统计则智能统计到登陆后的1次,其余两次均因为无法解析用户设备关联信息而不能判断浏览行为的归属用户。对于示例中最后一条即没有匹配到userId的记录,通过查找已有的基于HBase数据库存储的用户设备字典表UserEquipmentDictionary进行检索,若查询到Serialnumber为M2P12CG5B6635241Q有对应的userId信息,则更新ServiceTenantActiveFileNew中对应行,同样将Key中的设备信息替换为userId归属的租户tenantId;若没有匹配到对应的userId,则说明该用户为未注册用户,如果字典中有Serialnumber为M2P12CG5B6635241Q的设备字段信息,则表示该用户以前也访问过云平台上的该云服务;若没有匹配到对应的userId,且UserEquipmentDictionary表中对该Serialnumber无任何记录,则表示该用户首次访问该云服务。对于没有匹配到userId的未注册用户活跃记录均归属到其他Other标记下面,因为未注册用户暂未归属任何实际租户。
云平台上各租户对不同云服务的活跃度、不同云服务的用户活跃度计算,可以通过Spark分布式内存计算引擎对两个不同维度的输入文件ServiceTenantActiveFileNew和ServiceActiveFile进行并行分片计算,对于Key值相同的Value进行求和,最终得出当天各租户对不同云服务的活跃度、以及不同云服务的用户活跃度。
本示例ServiceTenantActiveFileNew输出结果文件ServiceTenantActiveFileOutput如表20所示,即表示租户fcc2655df72647c5a057e2133872d667当日对云服务228cd48450f04ae8ab8ca0f0de8699c8的活跃度为3,未有租户归属的该云服务访问活跃度为1。
表20
本示例ServiceActiveFile输出结果文件ServiceActiveFileOutput如表21所示,即表示该云服务当时用户活跃度为4。
表21
数据更新模块,用于根据智能分析模块的分析结果对用户设备信息字典数据和活跃度信息进行更新。该模块包括用户设备信息字典数据更新、活跃度信息更新两部分。通过基于GraphX图计算的智能分析模块,从当日浏览数据中既获取到一部分用户设备关联信息IdMappingFileOutput,并对当日租户对不同云服务的活跃度ServiceTenantActiveFileOutput,以及不同云服务的用户活跃度ServiceActiveFileOutput结果需要分别更新至UserEquipmentDictionary表、ServiceTenantDayActive表、ServiceDayActive表中,用于不断自我学习用户信息,以及后续活跃度统计展示。本方法中采用了HBase数据库进行存储。HBase是可以构建在HDFS上的作为一种典型的非关系型数据库,其存储的数据介于映射和关系型数据之间,可以理解为一种key和value的映射关系。HBase表中有行键(RowKey)、列族(ColumnFamily)、列(Column)和时间戳(TimeStamp)几个属性。本实施方式中使用表UserEquipmentDictionary来记录用户以及关联设备信息,其RowKey值为用户userId或者设备id,对于未注册用户则依次按照六个属性imei、mac、imsi、androidId、serialnumber、ip优先级次序选择其中第一个非空属性作为行键,列族userDviceInfo中分别记录了该用户归属的所有租户tenantId、以及历史采集到的所有该用户相关的设备Id。表结构见表22。
表22
对于本示例中IdMappingFileOutput将采集到用户相关的设备Id信息,确认数据库中该属性是否已经有相同的值,若无对应属性值记录或者记录值与最新收集到的Id不一致时,则将新的Id后缀更新到已有值中,这种情况通常用用户有多个终端设备。
同样ServiceTenantActiveFileOutput、ServiceActiveFileOutput日活跃度运算结果更新至ServiceTenantDayActive表、ServiceDayActive表中,ServiceTenantDayActive表RowKey为租户Id和云服务Id组合,列族dayActiveInfo中存储了该租户对该云服务的每日活跃度结果,表结构见表23,ServiceDayActive表中RowKey为云服务Id,列族activeInfo中存储了该云服务的每日活跃度结果,表结构见表24。
表23
表24
本实施方式的基于GraphX图计算的信创云平台数据化运营系统还包括数据可视化模块,该数据可视化模块由基于Springboot开发的后端微服务和基于ECharts的前端图表展示模块组成,通过精准的活跃数据为云平台运营、运维人员提供直观、生动的数字大屏展示。后端服务主要是针对不同时间段的活跃度查询计算;前端展示则为运营管理员根据不同时间段租户数据刻画其近期云服务偏好需求画像,运维管理员根据不同云服务活跃度需求,对未来资源池扩容规划通过数据依据准确评估,避免用户遇到因资源不足而引起的云服务申请失败。
本发明可以通过以下步骤实现,如图3所示:
步骤S01:由于本方法使用了Hadoop平台的HDFS文件系统,因此需要先部署Hadoop平台,本方法中安装配置步骤概述如下:
所有节点安装JDK并配置环境变量,本方法使用JDK版本为 “1.8.0_202”;
配置集群各个节点之间免密登陆,关闭集群各个节点防火墙、SeLinux,将所有节点主机名信息添加到第一个主节点/etc/hosts文件,并将该文件通过scp分发到各个节点;
所有节点解压Hadoop安装文件,本方法使用版本号为“hadoop-3.2.2”,使用命令“tar -zxvf hadoop-3.2.2.tar.gz”解压,并重命名为hadoop,配置hadoop环境变量;
修改Hadoop配置文件,明确服务访问地址,HDFS文件副本数量等配置信息。需要更新hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml四个配置文件并分发到各个节点;
执行命令“hadoop namenode -format”格式化集群,执行“start-all.sh”启动集群。
步骤S02:本方法中使用了HBase数据库进行数据存储,因此需要安装HBase数据库,本方法使用的是“hbase-2.3.6”版本,主要步骤概述为:
所有节点解压安装“hbase-2.3.6-bin.tar.gz”,并重命名为hbase,配置hbase环境变量;
修改HBase配置文件hbase-env.sh、hbase-site.xml、regionservers等配置文件数,更新节点信息、访问地址、主节点信息、副本数等并分发至各个节点;
Source环境变量,切换至“$HBASE_HOME/bin”目录下,使用“./start-hbase.sh”启动HBase集群;
步骤S03:安装Spark开发依赖语言Scala,本方法使用的Scala版本为“scala-2.12.14”,同样所有节点解压安装包,并配置环境变量,使用“scala -version”验证安装成功;
步骤S04:部署安装Spark分布式内存计算引擎,本方法使用版本为“spark-3.1.2-bin-hadoop3.2”,主要步骤概述如下:
所有节点解压安装包,并重命名为spark,配置spark环境变量;
修改配置配置文件/software/spark/conf/ workers配置计算节点;
修改第一台master节点配置文件spark-env.sh,并分发到其他节点上,配置文件具体内容如表25所示。
表25
/>
使用命令“start-all.sh”启动集群所有节点,使用“jps”查看进程状态确认集群正常。
步骤S05:HBase中创建库UserEquipmentDictionary表、ServiceTenantDayActive表、ServiceDayActive表,具体命令如下:
创建库表,表列族:
create UserEquipmentDictionary,' userDviceInfo ';
create ServiceTenantDayActive,' dayActiveInfo ';
create ServiceDayActive,' activeInfo';
步骤S06:信创云平台前端各云服务所有功能页面埋点用户浏览行为捕获程序,以便数据采集模块进行实时数据采集,以及浏览日志生成;
步骤S07:部署后台基于Spark分布式内存计算引擎的数据清洗与预处理模块程序Jar包,并设置定时任务每日00:30对前一天采集到的日志数据处理;
步骤S08:部署后台基于GraphX图计算的智能分析模块程序Jar包,该程序用以被步骤S07中预处理结束后调用;
步骤S09:部署后台数据更新模块程序Jar包,该模块用以被步骤S08中智能分析结束后调用,并最终将结果数据写出数据持久层;
步骤S10:部署数据可视化模块前后端程序,该模块用以运营系统数据展示调用。
不难发现,本发明通过GraphX图计算创建了用户设备信息字典,并不断自动学习更新,实时存储在数据持久层,对未登陆的浏览信息通过查询设备信息字典可解析到其关联用户,因此对已注册未登陆用户的活跃度也可统计,大力提升了运营指标的精准性。本发明通过GraphX图计算创建的用户设备信息字典,可解析未注册浏览信息是否为同一用户,并纳入活跃度统计中,云服务活跃指标进一步趋近于实际需求。本发明对未注册用户的设备信息同样记录到用户设备字典中,可用于运营系统潜在用户数量指标分析。本发明所涉及到的海量浏览数据均采用了Spark分布式内存计算引擎,极大地提升了每日增量数据的运算效率。

Claims (6)

1.一种基于GraphX图计算的信创云平台数据化运营系统,其特征在于,包括:
数据采集模块,在前端入口制作埋点日志,用于在用户对云平台的云服务进行访问时,采集接入终端的信息以及访问的云服务ServiceId,并形成埋点日志;
数据清洗和预处理模块,包括数据清洗部分和数据预处理部分,所述数据清洗部分用于对所述埋点日志进行数据清洗;所述数据预处理部分用于对清洗后的数据进行预处理,得到全量记录浏览设备详细信息的IdMappingFile、用于计算后续各租户对于不同云服务的活跃度统计ServiceTenantActiveFile、以及用于计算后续不同云服务的用户活跃度统计ServiceActiveFile;
智能分析模块,用于基于IdMappingFile构成前一天对应云服务的用户接入无向信息图组成的森林结构,基于GraphX图建模算法实现用户关联设备字典建模,并依托Spark分布式内存计算引擎结合ServiceTenantActiveFile和ServiceActiveFile得到所有云服务前一天用户活跃度的统计;所述智能分析模块包括:
森林结构构成单元,用于以IdMappingFile中的所有数值构成点集合,以IdMappingFile中的每一行属性按照顺序组成的关联关系构成边集合,基于所述点集合和边集合组成无向活跃图,构成森林结构;
关联设备字典形成单元,用于根据所述森林结构得到用户所有接入终端所有入口信息的最小连通分量,并基于所述最小连通分量形成用户关联设备字典文件;
统计文件更新单元,用于基于用户关联设备字典文件更新ServiceTenantActiveFile中未登录无属主的浏览记录信息;
活跃度统计单元,用于通过Spark分布式内存计算引擎分别对更新后的ServiceTenantActiveFile和ServiceActiveFile进行并行分片计算,得到当天各租户对不同云服务的活跃度、以及不同云服务的用户活跃度;
数据更新模块,用于根据智能分析模块的分析结果对用户设备信息字典数据和活跃度信息进行更新。
2.根据权利要求1所述的基于GraphX图计算的信创云平台数据化运营系统,其特征在于,所述数据采集模块采集的接入终端的信息包括用户在云平台的唯一识别ID、接入终端的入网许可证号、接入终端的Mac地址、接入终端的SIM卡序号、AndroidId、接入终端的设备序列号以及接入终端的IP地址。
3.根据权利要求1所述的基于GraphX图计算的信创云平台数据化运营系统,其特征在于,所述数据清洗部分包括:第一数据丢弃单元,用于对所述埋点日志中缺少访问的云服务ServiceId的数据进行丢弃;第二数据丢弃单元,用于对所述埋点日志中缺少接入终端的信息的数据进行丢弃;第三数据丢弃单元,用于对所述埋点日志中非正常日期或者非前一天日期的数据进行丢弃。
4.根据权利要求1所述的基于GraphX图计算的信创云平台数据化运营系统,其特征在于,所述数据预处理部分包括:扁平化处理单元,用于对清洗后的数据进行扁平化处理生成IdMappingLogFile;第一预处理单元,用于在IdMappingLogFile的基础上对每一行数据去除tenantId和serviceId两个属性,并对保留的每个属性值添加属性名称标签,得到全量记录浏览设备详细信息的IdMappingFile;第二预处理单元,用于对IdMappingLogFile中每一行数据从租户在各云服务活跃情况的角度进行计量,形成ServiceTenantActiveFile;第三预处理单元,用于对IdMappingLogFile中每一行数据从各云服务的用户活跃度计量,得到ServiceActiveFile。
5.根据权利要求1所述的基于GraphX图计算的信创云平台数据化运营系统,其特征在于,所述数据更新模块采用HBase数据库根据智能分析模块的分析结果对用户设备信息字典数据和活跃度信息进行更新。
6.根据权利要求1所述的基于GraphX图计算的信创云平台数据化运营系统,其特征在于,还包括数据可视化模块,所述数据可视化模块包括后端服务单元和前端展示单元,所述后端服务单元用于针对不同时间段的活跃度进行查询计算;所述前端展示单元用于为运营管理员根据不同时间段租户数据刻画其近期云服务偏好需求画像。
CN202310733435.6A 2023-06-20 2023-06-20 基于GraphX图计算的信创云平台数据化运营系统 Active CN116501726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310733435.6A CN116501726B (zh) 2023-06-20 2023-06-20 基于GraphX图计算的信创云平台数据化运营系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310733435.6A CN116501726B (zh) 2023-06-20 2023-06-20 基于GraphX图计算的信创云平台数据化运营系统

Publications (2)

Publication Number Publication Date
CN116501726A CN116501726A (zh) 2023-07-28
CN116501726B true CN116501726B (zh) 2023-09-29

Family

ID=87323318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310733435.6A Active CN116501726B (zh) 2023-06-20 2023-06-20 基于GraphX图计算的信创云平台数据化运营系统

Country Status (1)

Country Link
CN (1) CN116501726B (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9571516B1 (en) * 2013-11-08 2017-02-14 Skyhigh Networks, Inc. Cloud service usage monitoring system
US10419469B1 (en) * 2017-11-27 2019-09-17 Lacework Inc. Graph-based user tracking and threat detection
US10467201B1 (en) * 2015-12-23 2019-11-05 Massachusetts Mutual Life Insurance Company Systems and methods for integration and analysis of data records
CN111310052A (zh) * 2020-02-29 2020-06-19 平安国际智慧城市科技股份有限公司 用户画像构建方法、装置及计算机可读存储介质
CN112988774A (zh) * 2021-03-23 2021-06-18 汪威 一种基于大数据采集的用户信息更新方法及信息服务器
CN113328888A (zh) * 2021-05-31 2021-08-31 上海明略人工智能(集团)有限公司 一种私域流量id处理方法、系统、介质及设备
CN113556368A (zh) * 2020-04-23 2021-10-26 北京达佳互联信息技术有限公司 用户识别方法、装置、服务器及存储介质
CN113904921A (zh) * 2021-10-21 2022-01-07 上海观安信息技术股份有限公司 基于日志和图的动态网络拓扑图生成方法、系统、处理设备、存储介质
CN114066171A (zh) * 2021-10-26 2022-02-18 浪潮软件科技有限公司 一种服务平台活跃度分析方法及系统
CN114880522A (zh) * 2022-03-24 2022-08-09 邦道科技有限公司 基于图数据库实现ID Mapping的方法及装置
CN114880407A (zh) * 2022-05-30 2022-08-09 上海九方云智能科技有限公司 基于强弱关系网络的用户智能识别方法和系统
CN115129809A (zh) * 2022-06-06 2022-09-30 网易(杭州)网络有限公司 用户活跃度的确定方法、装置、电子设备及存储介质
CN115145938A (zh) * 2022-07-28 2022-10-04 上海微盟企业发展有限公司 企业用户身份标识体系构建方法、装置、设备、介质
CN115145736A (zh) * 2022-09-05 2022-10-04 中国人寿保险股份有限公司上海数据中心 基于Spark分布式计算的云平台配额智能分配系统
CN115660711A (zh) * 2022-09-16 2023-01-31 维沃移动通信有限公司 用户id生成方法、装置、电子设备及可读存储介质
WO2023065691A1 (zh) * 2021-10-19 2023-04-27 广州数说故事信息科技有限公司 多层关联下的用户信息融合方法、终端、存储介质及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120278354A1 (en) * 2011-04-29 2012-11-01 Microsoft Corporation User analysis through user log feature extraction
US8713693B2 (en) * 2011-07-26 2014-04-29 Salesforce.Com, Inc. Secure access to customer log data in a multi-tenant environment
US11457029B2 (en) * 2013-12-14 2022-09-27 Micro Focus Llc Log analysis based on user activity volume
US20160134713A1 (en) * 2014-11-12 2016-05-12 Match.Com, L.L.C. System and method for tracking and illustrating user activity in a network environment
US10412189B2 (en) * 2015-08-31 2019-09-10 Microsoft Technology Licensing, Llc Constructing graphs from attributes of member profiles of a social networking service
US10409782B2 (en) * 2016-06-15 2019-09-10 Chen Zhang Platform, system, process for distributed graph databases and computing
US11205128B2 (en) * 2018-03-28 2021-12-21 Microsoft Technology Licensing, Llc Inferred profiles on online social networking systems using network graphs
US20220027431A1 (en) * 2019-02-25 2022-01-27 Zscaler, Inc. Real User Monitoring statistics from end users
US11080629B2 (en) * 2019-03-22 2021-08-03 Microsoft Technology Licensing, Llc Automatically generating activity summaries based on signals obtained from plural devices and logic components

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9571516B1 (en) * 2013-11-08 2017-02-14 Skyhigh Networks, Inc. Cloud service usage monitoring system
US10467201B1 (en) * 2015-12-23 2019-11-05 Massachusetts Mutual Life Insurance Company Systems and methods for integration and analysis of data records
US10419469B1 (en) * 2017-11-27 2019-09-17 Lacework Inc. Graph-based user tracking and threat detection
CN111310052A (zh) * 2020-02-29 2020-06-19 平安国际智慧城市科技股份有限公司 用户画像构建方法、装置及计算机可读存储介质
CN113556368A (zh) * 2020-04-23 2021-10-26 北京达佳互联信息技术有限公司 用户识别方法、装置、服务器及存储介质
CN112988774A (zh) * 2021-03-23 2021-06-18 汪威 一种基于大数据采集的用户信息更新方法及信息服务器
CN113328888A (zh) * 2021-05-31 2021-08-31 上海明略人工智能(集团)有限公司 一种私域流量id处理方法、系统、介质及设备
WO2023065691A1 (zh) * 2021-10-19 2023-04-27 广州数说故事信息科技有限公司 多层关联下的用户信息融合方法、终端、存储介质及系统
CN113904921A (zh) * 2021-10-21 2022-01-07 上海观安信息技术股份有限公司 基于日志和图的动态网络拓扑图生成方法、系统、处理设备、存储介质
CN114066171A (zh) * 2021-10-26 2022-02-18 浪潮软件科技有限公司 一种服务平台活跃度分析方法及系统
CN114880522A (zh) * 2022-03-24 2022-08-09 邦道科技有限公司 基于图数据库实现ID Mapping的方法及装置
CN114880407A (zh) * 2022-05-30 2022-08-09 上海九方云智能科技有限公司 基于强弱关系网络的用户智能识别方法和系统
CN115129809A (zh) * 2022-06-06 2022-09-30 网易(杭州)网络有限公司 用户活跃度的确定方法、装置、电子设备及存储介质
CN115145938A (zh) * 2022-07-28 2022-10-04 上海微盟企业发展有限公司 企业用户身份标识体系构建方法、装置、设备、介质
CN115145736A (zh) * 2022-09-05 2022-10-04 中国人寿保险股份有限公司上海数据中心 基于Spark分布式计算的云平台配额智能分配系统
CN115660711A (zh) * 2022-09-16 2023-01-31 维沃移动通信有限公司 用户id生成方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN116501726A (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
US10853124B2 (en) Managing user data in a multitenant deployment
US11768875B2 (en) Monitoring system control interface for asset tree determination
CN105069703B (zh) 一种电网海量数据管理方法
CN105912666B (zh) 一种面向云平台的混合结构数据高性能存储、查询方法
CN107832407B (zh) 用于生成知识图谱的信息处理方法、装置和可读存储介质
CN109542967B (zh) 基于xbrl标准的智慧城市数据共享系统及方法
CN112685433B (zh) 元数据更新方法、装置、电子设备及计算机可读存储介质
CN114153702A (zh) 用于在日志分析系统中实现日志解析器的方法和系统
CN107818024A (zh) 一种基于spring拦截器的request ID传递方法及系统
CN107943831B (zh) 一种基于HBase的电网历史数据集中存储方法
CN110147470B (zh) 一种跨机房数据比对系统及方法
CN113872813A (zh) 一种载波通信设备全生命周期管理方法及系统
CN112131004A (zh) 基于物联网通信的数据处理方法及云计算服务器
CN111309868A (zh) 一种知识图谱构建、检索方法及装置
CN115408381A (zh) 数据处理方法及相关设备
CN111459900B (zh) 大数据生命周期设置方法、装置、存储介质及服务器
CN111400393A (zh) 基于多应用平台的数据处理方法和装置、存储介质
CN108763323A (zh) 基于资源集和大数据技术的气象格点文件应用方法
CN109510857B (zh) 数据存储方法、装置、服务器和系统
CN116501726B (zh) 基于GraphX图计算的信创云平台数据化运营系统
CN115145736B (zh) 基于Spark分布式计算的云平台配额智能分配系统
CN108846002B (zh) 标签实时更新方法及系统
CN111125226A (zh) 一种配置数据采集方法及装置
CN114356712A (zh) 数据处理方法、装置、设备、可读存储介质及程序产品
CN113568967A (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
GR01 Patent grant
GR01 Patent grant