一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、计算机可读介质及电子设备与流程

2021-10-20 00:00:00 来源:中国专利 TAG:数据处理 人工智能 电子设备 介质 装置


1.本技术属于人工智能技术领域,具体涉及一种数据处理方法、数据处理装置、计算机可读介质以及电子设备。


背景技术:

2.随着计算机和网络技术的发展,在网络平台提供业务服务的基础上,用户相互之间可以建立各种各样的交互关系,例如用户可以在网络社交平台上以与其他用户建立社交关系,也可以在网络支付平台上与其他用户建立资金往来关系。在此基础上,网络平台也将积累大量的用户数据,其中包含了用户使用网络平台时产生的与自身属性相关的数据,同时也包含了不同用户之间建立交互关系而产生的交互数据。
3.合理地对用户数据进行梳理和挖掘可以使网络平台能够结合用户特点更好地为用户提供便利高效的平台服务。然而,随着用户数据的不断积累,越来越庞大的数据规模将会带来日益增大的数据处理压力,网络平台也需要花费越来越多的计算资源和时间来进行数据分析。因此,如何提高大数据分析的效率并降低相关成本是目前亟待解决的问题。


技术实现要素:

4.本技术的目的在于提供一种数据处理方法、数据处理装置、计算机可读介质以及电子设备,至少在一定程度上克服大数据分析中存在的计算资源消耗大、数据处理效率低等技术问题。
5.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
6.根据本技术实施例的一个方面,提供一种数据处理方法,所述方法包括:获取用于表示多个交互对象之间的交互关系的关系图网络,所述关系图网络包括用于表示交互对象的节点和用于表示交互关系的边;通过包括多个计算设备的设备集群对所述关系图网络进行核心度挖掘,以迭代更新所述关系图网络中的全部节点或者部分节点的节点核心度;根据所述节点核心度对所述关系图网络进行剪枝处理,以移除所述关系图网络中的部分节点和边;当所述关系图网络的网络规模满足预设的网络压缩条件时,对所述设备集群进行压缩处理以移除所述设备集群中的部分计算设备。
7.根据本技术实施例的一个方面,提供一种数据处理装置,该装置包括:图网络获取模块,被配置为获取用于表示多个交互对象之间的交互关系的关系图网络,所述关系图网络包括用于表示交互对象的节点和用于表示交互关系的边;核心度挖掘模块,被配置为通过包括多个计算设备的设备集群对所述关系图网络进行核心度挖掘,以迭代更新所述关系图网络中的全部节点或者部分节点的节点核心度;网络剪枝模块,被配置为根据所述节点核心度对所述关系图网络进行剪枝处理,以移除所述关系图网络中的部分节点和边;集群压缩模块,被配置为当所述关系图网络的网络规模满足预设的网络压缩条件时,对所述设备集群进行压缩处理以移除所述设备集群中的部分计算设备。
8.在本技术的一些实施例中,基于以上技术方案,所述集群压缩模块包括:单机计算单元,被配置为在所述设备集群中选取一个计算设备作为对所述关系图模型进行单机计算的目标节点,并从所述设备集群中移除除所述目标节点以外的其他计算设备。
9.在本技术的一些实施例中,基于以上技术方案,所述核心度挖掘模块包括:网络分割单元,被配置为对所述关系图网络进行分割处理,得到由所述关系图网络中的部分节点和边组成的分区图网络;网络分配单元,被配置为将所述分区图网络分配至包括多个计算设备的设备集群,以确定用于对所述分区图网络进行核心度挖掘的计算设备;分区挖掘单元,被配置为对所述分区图网络进行核心度挖掘,以迭代更新所述关系图网络中的各个节点的节点核心度。
10.在本技术的一些实施例中,基于以上技术方案,所述分区挖掘单元包括:节点选取子单元,被配置为在所述分区图网络中选取在当前迭代轮次中进行核心度挖掘的计算节点,并确定与所述计算节点具有邻接关系的邻居节点;核心度获取子单元,被配置为获取所述计算节点以及所述邻居节点在当前迭代轮次中的当前节点核心度;核心度计算子单元,被配置为根据所述邻居节点的当前节点核心度确定所述计算节点的临时节点核心度,并将所述临时节点核心度小于当前节点核心度的计算节点标记为活跃节点;核心度更新子单元,被配置为根据所述临时节点核心度更新所述活跃节点的当前节点核心度,并将所述活跃节点以及与所述活跃节点具有邻接关系的邻居节点确定为在下一迭代轮次中进行核心度挖掘的计算节点。
11.在本技术的一些实施例中,基于以上技术方案,所述核心度计算子单元包括:h指数计算子单元,被配置为根据所述邻居节点的当前节点核心度确定所述计算节点的h指数,并将所述h指数作为所述计算节点的临时节点核心度,所述h指数表示在所述计算节点的所有邻居节点中至多包括h个邻居节点的当前节点核心度大于或等于h。
12.在本技术的一些实施例中,基于以上技术方案,所述h指数计算子单元包括:节点排序子单元,被配置为按照所述当前节点核心度由高到低的顺序对所述计算节点的所有邻居节点进行排序,并为各个所述邻居节点分配以0起始的排列序号;节点筛选子单元,被配置为分别比较各个邻居节点的排列序号和当前节点核心度,以根据比较结果筛选排列序号大于或等于当前节点核心度的邻居节点;h指数确定子单元,被配置为在筛选出的邻居节点中,将排列序号最小的邻居节点的当前节点核心度确定为所述计算节点的h指数。
13.在本技术的一些实施例中,基于以上技术方案,所述节点选取子单元包括:标识读取子单元,被配置为从第一存储空间中读取待更新节点的节点标识,所述待更新节点包括在前一迭代轮次中更新节点核心度的活跃节点以及与所述活跃节点具有邻接关系的邻居节点;标识选取子单元,被配置为根据所述待更新节点的节点标识在所述分区图网络中选取在当前迭代轮次中进行核心度挖掘的计算节点。
14.在本技术的一些实施例中,基于以上技术方案,所述装置还包括:核心度写入模块,被配置为将更新后的所述活跃节点的当前节点核心度写入第二存储空间,所述第二存储空间用于存储所述关系图网络中的所有节点的节点核心度;标识写入模块,被配置为获取所述活跃节点以及所述活跃节点的邻居节点的节点标识,并将所述节点标识写入第三存储空间,所述第三存储空间用于存储下一迭代轮次中进行核心度挖掘的计算节点;空间覆盖模块,被配置为在当前迭代轮次中完成所有分区图网络的核心的挖掘后,将所述第三存
储空间覆盖第一存储空间中的数据并重置所述第三存储空间。
15.在本技术的一些实施例中,基于以上技术方案,所述核心度获取子单元包括:核心度读取子单元,被配置为从第二存储空间中读取所述计算节点以及所述邻居节点在当前迭代轮次中的当前节点核心度,所述第二存储空间用于存储所述关系图网络中的所有节点的节点核心度。
16.在本技术的一些实施例中,基于以上技术方案,所述网络剪枝模块包括:最小核心度获取单元,被配置为获取在当前迭代轮次中的活跃节点的最小核心度以及在前一迭代轮次中的活跃节点的最小核心度;收敛节点筛选单元,被配置为若所述当前迭代轮次中的活跃节点的最小核心度大于所述前一迭代轮次中的活跃节点的最小核心度,则根据所述前一迭代轮次中的活跃节点的最小核心度筛选所述关系图网络中的收敛节点,所述收敛节点是节点核心度小于或等于所述前一迭代轮次中的活跃节点的最小核心度的节点;收敛节点移除单元,被配置为从所述关系图网络中移除所述收敛节点以及与所述收敛节点相连的边。
17.在本技术的一些实施例中,基于以上技术方案,所述网络压缩条件包括所述关系图网络中的边的数量小于预设的数量阈值。
18.根据本技术实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的数据处理方法。
19.根据本技术实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的数据处理方法。
20.根据本技术实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的数据处理方法。
21.在本技术实施例提供的技术方案中,根据涉及交互对象之间交互关系的业务数据建立了关系图网络,利用关系图网络的结构特点和稀疏性,可以首先通过设备集群进行分布式计算以分区域地进行核心度挖掘。随着节点核心度的不断迭代更新,再对关系图网络进行剪枝处理,“剪掉”其中已经迭代收敛的节点和对应的连边,从而使得关系图网络随着节点核心度的迭代更新而不断压缩变小,降低计算资源的消耗。在此基础上,可以在关系图网络压缩至合适的大小时,进一步对设备集群进行压缩处理,不仅可以释放大量的计算资源,而且可以节省因并行计算而带来的数据分发等额外的时间开销,提高数据处理效率。
22.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
23.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1示出了应用本技术技术方案的数据处理系统的架构框图。
25.图2示出了本技术一个实施例中的数据处理方法的步骤流程图。
26.图3示出了本技术一个实施例中基于分布式计算进行核心度挖掘的方法步骤流程图。
27.图4示出了本技术一个实施例中对分区图网络进行核心度挖掘的步骤流程图。
28.图5示出了本技术一个实施例中选取计算节点的步骤流程图。
29.图6示出了本技术一个实施例中确定计算节点的h指数的步骤流程图。
30.图7示出了本技术一个实施例中汇总分区图网络的节点核心度挖掘结果的步骤流程图。
31.图8示出了本技术一个实施例中基于节点核心度的迭代更新对关系图网络进行压缩剪枝的过程示意图。
32.图9示出了本技术实施例在一应用场景中进行k

core挖掘的整体架构及处理流程图。
33.图10示意性地示出了本技术实施例提供的数据处理装置的结构框图。
34.图11示意性示出了适于用来实现本技术实施例的电子设备的计算机系统结构框图。
具体实施方式
35.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
36.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
37.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
38.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
39.图1示出了应用本技术技术方案的数据处理系统的架构框图。
40.如图1所示,数据处理系统100可以包括终端设备110、网络120和服务器130。
41.终端设备110可以包括智能手机、平板电脑、笔记本电脑、台式电脑、智能音箱、智能手表、智能眼镜、车载终端等各种电子设备。终端设备110上可以安装视频应用客户端、音乐应用客户端、社交应用客户端、支付应用客户端等各种应用程序的客户端,以使用户可以基于应用程序的客户端获得相应的应用服务。
42.服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云
通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。网络120可以是能够在终端设备110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
43.根据实现需要,本技术实施例中的系统架构可以具有任意数目的终端设备、网络和服务器。例如,服务器130可以是由多个服务器设备组成的服务器群组。另外,本技术实施例提供的技术方案可以应用于终端设备110,也可以应用于服务器130,或者可以由终端设备110和服务器130共同实施,本技术对此不做特殊限定。
44.举例而言,用户在终端设备110上使用社交应用程序时,可以在网络社交平台上与其他的平台用户相互发送信息或者进行语音会话、视频会话等网络社交行为,基于该过程可以在不同的平台用户之间建立社交关系,同时会在网络社交平台上产生相应的社交业务数据。又例如,用户在终端设备110上使用支付应用程序时,可以在网络支付平台上向其他的平台用户实施支付行为或者收款行为,基于该过程可以在不同的平台用户之间建立支付关系,同时在网络支付平台上产生相应的支付业务数据。
45.在采集得到社交业务数据或者支付业务数据等相关的用户数据后,本技术实施例可以基于用户数据中的交互关系构建图网络模型,并对图网络模型进行数据挖掘,得到用户在交互关系中的业务属性。以支付应用场景为例,在存在商户和消费者的图网络中,节点表示商户或消费者,边表示两个节点之间存在支付关系,一般来说商户节点更多处于网络的中心位置,因此节点的核心度(core值)可以作为一种拓扑特征,输入到下游的机器学习任务中,从而进行商业模式挖掘,识别出图网络模型中的节点是商户还是消费者。另外在支付业务的风险控制场景中,可以基于图网络模型的数据挖掘检测某个节点(或边)是否存在异常行为,从而用于执行非法信贷中介、套现、多头借贷、赌博等异常行为的检测任务。
46.为了提高大数据的分析和挖掘效率,本技术实施例可以利用云技术进行分布式计算。
47.云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术涉及了云计算商业模式应用的网络技术、信息技术、整合技、管理平台技术、应用技术等等,可以组成资源池,按需所用,灵活便利。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
48.云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
49.作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为iaas(infrastructure as a service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
50.按照逻辑功能划分,在iaas(infrastructure as a service,基础设施即服务)层
上可以部署paas(platform as a service,平台即服务)层,paas层之上再部署saas(software as a service,软件即服务)层,也可以直接将saas部署在iaas上。paas为软件运行的平台,如数据库、web容器等。saas为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,saas和paas相对于iaas是上层。
51.大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
52.人工智能云服务,一般也被称作是aiaas(ai as a service,中文为“ai即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说aiaas平台会把几类常见的ai服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个ai主题商城:所有的开发者都可以通过api接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的ai框架和ai基础设施来部署和运维自已专属的云人工智能服务。
53.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
54.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
55.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
56.下面结合具体实施方式对本技术实施例提供的数据处理方法、数据处理装置、计算机可读介质以及电子设备等技术方案做出详细说明。
57.图2示出了本技术一个实施例中的数据处理方法的步骤流程图,该数据处理方法可以在图1所示的终端设备110上执行,也可以在图1所示的服务器130上执行,或者可以由终端设备110和服务器130共同执行。如图2所示,该数据处理方法主要可以包括如下的步骤s210至步骤s240。
58.步骤s210:获取用于表示多个交互对象之间的交互关系的关系图网络,关系图网络包括用于表示交互对象的节点和用于表示交互关系的边。
59.步骤s220:通过包括多个计算设备的设备集群对关系图网络进行核心度挖掘,以迭代更新关系图网络中的全部节点或者部分节点的节点核心度。
60.步骤s230:根据节点核心度对关系图网络进行剪枝处理,以移除关系图网络中的部分节点和边。
61.步骤s240:当关系图网络的网络规模满足预设的网络压缩条件时,对设备集群进行压缩处理以移除设备集群中的部分计算设备。
62.在本技术实施例提供的数据处理方法中,根据涉及交互对象之间交互关系的业务数据建立了关系图网络,利用关系图网络的结构特点和稀疏性,可以首先通过设备集群进行分布式计算以分区域地进行核心度挖掘。随着节点核心度的不断迭代更新,再对关系图网络进行剪枝处理,“剪掉”其中已经迭代收敛的节点和对应的连边,从而使得关系图网络随着节点核心度的迭代更新而不断压缩变小,降低计算资源的消耗。在此基础上,可以在关系图网络压缩至合适的大小时,进一步对设备集群进行压缩处理,不仅可以释放大量的计算资源,而且可以节省因并行计算而带来的数据分发等额外的时间开销,提高数据处理效率。
63.下面对以上实施例中数据处理方法的各个方法步骤分别作出详细说明。
64.在步骤s210中,获取用于表示多个交互对象之间的交互关系的关系图网络,关系图网络包括用于表示交互对象的节点和用于表示交互关系的边。
65.交互对象可以是在业务平台上进行业务交互的各个用户对象,例如在涉及商品交易的网络支付场景中,交互对象可以包括发起网络支付的消费者以及接收支付的商户,交互对象之间的交互关系可以是消费者与商户之间基于支付事件而建立的网络支付关系。
66.在本技术实施例中,通过采集多个交互对象之间进行业务往来而产生的业务数据,可以从中提取出多个交互对象以及交互对象相互之间的交互关系,从而建立由节点(node)和边(edge)组成的关系图网络,其中每一个节点可以代表一个交互对象,连接两个交互对象的边代表这两个交互对象之间建立了交互关系。
67.在步骤s220中,通过包括多个计算设备的设备集群对关系图网络进行核心度挖掘,以迭代更新关系图网络中的全部节点或者部分节点的节点核心度。
68.节点核心度是用于衡量图网络中每个节点的重要程度的参数,本技术实施例可以用对图网络进行k核分解(k

core decomposition)时确定的每个节点的核数(coreness)来表示节点的节点核心度。一个图的k核(k

core)是指反复去除度小于或等于k的节点后,所剩余的子图。其中,节点的度等于与该节点具有直接邻接关系的邻居节点的数量。一般而言,节点的度也可以在一定程度上反映节点在图网络的局部区域中的重要性,而通过挖掘节点的核数则可以在全局范围内更好地衡量节点的重要性。
69.若一个节点存在于k

core,而在(k 1)

core中被移除,那么此节点的核数即为k。k

core挖掘即是计算图中所有节点的核数的一种算法。举例而言,原始的图网络即为0核的图;1核就是去掉所有孤立点的图;2核就是先去掉所有度小于2的节点,然后在剩下的图中再去掉度小于2的点,依次类推,直到不能去掉为止;3核就是先去掉所有度小于3的点,然后在剩下的图中再去掉度小于3的点,依次类推,直到不能去掉为止
……
一个节点的核数定义为这个节点所在的最大核的阶数。例如,一个节点最多在5核而不在6核中,那么这个节点的核数即为5。
70.图3示出了本技术一个实施例中基于分布式计算进行核心度挖掘的方法步骤流程图。如图3所示,在以上实施例的基础上,步骤s220中的通过包括多个计算设备的设备集群
对关系图网络进行核心度挖掘,以迭代更新关系图网络中的全部节点或者部分节点的节点核心度,可以包括如下的步骤s310至步骤s330。
71.步骤s310:对关系图网络进行分割处理,得到由关系图网络中的部分节点和边组成的分区图网络。
72.一个网络规模较大的关系图网络可以经过分割处理后得到多个规模相对较小的分区图网络。在本技术的一个实施例中,对关系图网络进行分割处理的方法可以包括:首先根据预设的分割数量在关系图网络中选取多个分割中心点,然后以分割中心点作为聚类中心,对关系图网络中的所有节点进行聚类处理以将每个节点分配至与其距离最近的一个分割中心点,最后根据节点的聚类结果将关系图网络分割为多个分区图网络。分割中心点可以是在关系图网络中按照预设规则选取的节点或者随机选取的节点。
73.在本技术的一个实施例中,相邻的两个分区图网络之间可以保留一定的重叠区域,在重叠区域中可以共用一部分节点和边,从而产生一定的计算冗余,提高针对每个分区图网络进行核心度挖掘的可靠性。
74.步骤s320:将分区图网络分配至包括多个计算设备的设备集群,以确定用于对分区图网络进行核心度挖掘的计算设备。
75.将多个分区图网络分别分配给不同的计算设备,可以通过计算设备组成的设备集群实现核心度挖掘的分布式计算,提高数据处理效率。
76.在本技术的一个实施例中,对关系图网络进行分割处理时,可以根据设备集群中可用的计算设备的数量分割得到相同数量的分区图网络。例如,进行分布式计算的设备集群中包括有m个计算设备,便可以将关系图网络分割为m个分区图网络。
77.在本技术的另一实施例中,也可以根据单个计算设备的计算能力将关系图网络分割为规模相近的若干数量的分区图网络,然后将各个分区图网络分配至相同数量的计算设备。例如,关系图网络中包括n个节点,可以将关系图网络分割为n/t个分区图网络,其中t为根据单个计算设备的计算能力确定的单个分区图网络的节点数量,当关系图网络规模较大且分区图网络数量较多时,每个分区图网络中包含的节点基本上等同于该节点数量。完成关系图网络分割后,再从设备集群中选取n/t个计算设备,并分别向每个计算设备分配一个分区图网络。当设备集群中的设备数量少于n/t个时,可以根据计算设备的算力以及工作状态向部分或者全部的计算设备分配多个分区图网络。
78.步骤s330:对分区图网络进行核心度挖掘,以迭代更新关系图网络中的各个节点的节点核心度。
79.在本技术的一个实施例中,可以首先根据预设规则对关系图网络中的各个节点的节点核心度进行初始化赋值,然后在每个迭代轮次下对各个节点的节点核心度进行迭代更新。
80.在一些可选的实施方式中,可以根据节点的度对节点核心度进行初始化。具体而言,在关系图网络中,分别获取与各个节点具有邻接关系的邻居节点的节点数量,然后根据邻居节点的节点数量对各个节点的节点核心度进行初始化。节点的度表示一个节点与邻居节点的连接数量,在其他一些实施方式中,也可以结合节点的自身属性确定权重信息,然后根据节点的度和权重信息共同对节点核心度进行初始化赋值。
81.图4示出了本技术一个实施例中对分区图网络进行核心度挖掘的步骤流程图。如
图4所示,在以上实施例的基础上,步骤s330中的对分区图网络进行核心度挖掘,以迭代更新关系图网络中的各个节点的节点核心度,可以包括如下的步骤s410至步骤s440。
82.步骤s410:在分区图网络中选取在当前迭代轮次中进行核心度挖掘的计算节点,并确定与计算节点具有邻接关系的邻居节点。
83.在对节点核心度完成初始化赋值后的第一个迭代轮次中,可以将分区图网络中的全部节点确定为计算节点,计算节点即为在当前迭代轮次中需要进行核心度挖掘计算的节点,根据挖掘结果可以确定是否要对各个节点的节点核心度进行更新。
84.在进行核心度挖掘的每个迭代轮次中,可以根据前一迭代轮次的核心度挖掘结果以及节点核心度的更新结果确定当前迭代轮次中需要进行核心度挖掘的计算节点,这些计算节点中的部分节点或者全部节点将在当前迭代轮次中更新节点核心度。除计算节点以外的其他节点则不会在当前迭代轮次中进行核心度挖掘,自然也不会更新节点核心度。
85.本技术实施例中的邻居节点指的是与一个节点具有直接连接关系的其他节点。由于每个节点的节点核心度都将受到其邻居节点的影响,随着迭代的不断进行,当前迭代轮次中未更新节点核心度的节点也可能在后续的迭代过程中被选作计算节点。
86.图5示出了本技术一个实施例中选取计算节点的步骤流程图。如图5所示,步骤s410中的在分区图网络中选取在当前迭代轮次中进行核心度挖掘的计算节点,可以包括如下的步骤s510至步骤s520。
87.步骤s510:从第一存储空间中读取待更新节点的节点标识,待更新节点包括在前一迭代轮次中更新节点核心度的活跃节点以及与活跃节点具有邻接关系的邻居节点。
88.由于组成关系图网络的分区图网络是在不同的计算设备上进行分布式处理的,并且在相互邻接的两个分区图网络的边缘区域,两个相互邻接的节点将被分割到不同的分区图网络中,但是二者的节点核心度仍然会相互影响。因此,为了在分布式计算的同时保持分区图网络中节点核心度更新的同步性和一致性,本技术实施例在系统中分配第一存储空间,用以保存关系图网络中的所有的待更新节点的节点标识。
89.在一个迭代轮次中,当某个分区图网络中的节点根据核心度挖掘结果更新了节点核心度,则可以将该节点标记为活跃节点。活跃节点与活跃节点的邻居节点作为待更新节点,可以将待更新节点的节点标识写入到第一存储空间中。
90.步骤s520:根据待更新节点的节点标识在分区图网络中选取在当前迭代轮次中进行核心度挖掘的计算节点。
91.当开始一个迭代轮次时,每个计算设备均可以从第一存储空间中读取待更新节点的节点标识,从而在该计算设备被分配的分区图网络中选取在当前迭代轮次中进行核心度挖掘的计算节点。
92.通过执行如上所述的步骤s510至步骤s520,可以通过第一存储空间在每个迭代轮次结束后汇总关系图网络中的所有待更新节点的节点标识,并在新的迭代轮次开始时,向不同的计算设备分发数据,以使各个计算设备在各自维护的分区图网络中选取计算节点。
93.步骤s420:获取计算节点以及计算节点的邻居节点在当前迭代轮次中的当前节点核心度。
94.本技术实施例可以根据每个迭代轮次中的核心度挖掘结果实时监测并更新节点的节点核心度。各个节点在当前迭代轮次中的当前节点核心度是经过前序的迭代轮次后确
定的最新的节点核心度。
95.在一个可选的实施方式中,本技术实施例可以在系统中分配第二存储空间,用以存储关系图网络中的所有节点的节点核心度。当有计算设备需要根据已有的核心度数据进行核心度挖掘和更新时,可以从第二存储空间中读取计算节点以及邻居节点在当前迭代轮次中的当前节点核心度。
96.步骤s430:根据邻居节点的当前节点核心度确定计算节点的临时节点核心度,并将临时节点核心度小于当前节点核心度的计算节点标记为活跃节点。
97.以核数coreness作为核心度为例,在本技术的相关技术中,可以基于k

core的定义采用递归剪枝的方法对图网络进行核心度挖掘。具体而言,可以从k=1开始,不断从图中去掉度小于等于k的节点及其连接边,直到剩下的图中所有节点的度都大于k。递归剪枝类似于“剥洋葱”,在第k轮中剥落的所有节点的core值即为k。然而,由于该方法是将图网络整体上从外向内逐步限缩的方式来计算核数,使得该方法只能采用集中式计算,对整体的图网络数据进行串行处理,而难以适用分布式并行处理。在面对超大规模(百亿/千亿数量级)的关系链网络时存在计算时间过长、计算性能差等问题。
98.为了克服该问题,本技术在一个实施例中可以采用基于h指示的迭代方法来进行核心度挖掘。具体而言,本技术实施例可以根据邻居节点的当前节点核心度确定计算节点的h指数,并将h指数作为计算节点的临时节点核心度,h指数表示在计算节点的所有邻居节点中至多包括h个邻居节点的当前节点核心度大于或等于h。
99.举例而言,某个计算节点具有五个邻居节点,这五个邻居节点的当前节点核心度分别为2、3、4、5、6。按照节点核心度由小到大的顺序来看,在该计算节点的五个邻居节点中,包括5个邻居节点的当前节点核心度大于或等于1,包括5个邻居节点的当前节点核心度大于或等于2,包括4个邻居节点的当前节点核心度大于或等于3,包括3个邻居节点的当前节点核心度大于或等于4,包括2个邻居节点的当前节点核心度大于或等于5,包括1个邻居节点的当前节点核心度大于或等于6。由此可见,在该计算节点的所有邻居节点中,至多包括3个邻居节点的当前节点核心度大于或等于3,因此该计算节点的h指数即为3,进而可以确定该计算节点的临时节点核心度为3。
100.图6示出了本技术一个实施例中确定计算节点的h指数的步骤流程图。如图6所示,在以上实施例的基础上,根据邻居节点的当前节点核心度确定计算节点的h指数的方法可以包括如下的步骤s610至步骤s630。
101.步骤s610:按照当前节点核心度由高到低的顺序对计算节点的所有邻居节点进行排序,并为各个邻居节点分配以0起始的排列序号。
102.步骤s620:分别比较各个邻居节点的排列序号和当前节点核心度,以根据比较结果筛选排列序号大于或等于当前节点核心度的邻居节点。
103.步骤s630:在筛选出的邻居节点中,将排列序号最小的邻居节点的当前节点核心度确定为计算节点的h指数。
104.本技术实施例通过排序及筛选的方式可以快速高效地确定计算节点的h指数,尤其适用于计算节点数量规模较大的情形。
105.步骤s440:根据临时节点核心度更新活跃节点的当前节点核心度,并将活跃节点以及与活跃节点具有邻接关系的邻居节点确定为在下一迭代轮次中进行核心度挖掘的计
算节点。
106.在获取到活跃节点的临时节点核心度后,可以比较临时节点核心度与该活跃节点的当前节点核心度的数值大小,如果临时节点核心度小于当前节点核心度,则可以将当前节点核心度替换为该临时节点核心度。而如果二者相同,表示该计算节点在当前迭代轮次中不需要更新。
107.在本技术的一个实施例中,在根据临时节点核心度更新活跃节点的当前节点核心度之后,可以根据每个分区图网络中的节点核心度的更新结果汇总关系图网络中的整体更新结果,进而为下一迭代轮次提供核心度挖掘基础。
108.图7示出了本技术一个实施例中汇总分区图网络的节点核心度挖掘结果的步骤流程图。如图7所示,在以上各实施例的基础上,汇总各个分区图网络的节点核心度挖掘结果的方法可以包括如下的步骤s710至步骤s730。
109.步骤s710:将更新后的活跃节点的当前节点核心度写入第二存储空间,第二存储空间用于存储关系图网络中的所有节点的节点核心度。
110.步骤s720:获取活跃节点以及活跃节点的邻居节点的节点标识,并将节点标识写入第三存储空间,第三存储空间用于存储下一迭代轮次中进行核心度挖掘的计算节点。
111.步骤s730:在当前迭代轮次中完成所有分区图网络的核心的挖掘后,将第三存储空间覆盖第一存储空间中的数据并重置第三存储空间。
112.本技术实施例通过配置第三存储空间,并在各个迭代轮次中基于第三存储空间的更新和重置实现对分区图网络的节点核心度挖掘结果的汇总和分发,在利用分布式计算提高数据处理效率的基础上,确保数据处理的稳定向和可靠性。
113.在步骤s230中,根据节点核心度对关系图网络进行剪枝处理,以移除关系图网络中的部分节点和边。
114.随着节点核心度的挖掘和迭代更新,关系图网络中的节点和边将逐渐达到收敛稳定的状态,不会在后续的迭代过程中更新节点核心度,也不会影响其他节点的核心度挖掘结果。针对这部分收敛的节点,可以将其剪枝移除,以缩小关系图网络以及分区图网络的数据规模。
115.在一个可选的实施方式中,本技术实施例可以获取在当前迭代轮次中的活跃节点的最小核心度以及在前一迭代轮次中的活跃节点的最小核心度;若当前迭代轮次中的活跃节点的最小核心度大于前一迭代轮次中的活跃节点的最小核心度,则根据前一迭代轮次中的活跃节点的最小核心度筛选关系图网络中的收敛节点,收敛节点是节点核心度小于或等于前一迭代轮次中的活跃节点的最小核心度的节点;从关系图网络中移除收敛节点以及与收敛节点相连的边。
116.图8示出了本技术一个实施例中基于节点核心度的迭代更新对关系图网络进行压缩剪枝的过程示意图。
117.压缩剪枝方法的关键在于分析每轮迭代中节点的core值变化。以表示节点v在第t轮迭代的core值,mincore
(t)
表示第t轮迭代中core值有更新的节点的最小core值。
[0118][0119]
当一个节点的core值有更新时,其更新后的core值一定是小于原来core值的。根
据节点core值随每轮迭代递减的规律可以知道,当mincore
(t)
>mincore
(t

1)
时,表明此时所有core值小于等于mincore
(t

1)
的节点均已收敛,后续将不再被更新。又根据k

core挖掘特征可知,core值较小的节点不影响core值较大的节点的迭代,因此可以将每轮迭代中已收敛的节点及其对应连边“剪掉”,从而使关系图网络随迭代的进行逐渐被压缩变小。
[0120]
如图8所示,根据初始化的core值可以确定初始的最小core值为mincore
(0)
=1。经过第一轮迭代,其中部分节点的core值得到更新,在这部分core值更新的节点中,最小core值为mincore
(1)
=1。再经过第二轮迭代后,其中又有一部分节点的core值得到更新,在这部分core值更新的节点中,最小core值为mincore
(2)
=1。
[0121]
由于mincore
(2)
>mincore
(1)
,可以触发对关系图网络进行剪枝处理,移除其中core值为1的节点,从而达到压缩关系图网络的目的。
[0122]
在步骤s240中,当关系图网络的网络规模满足预设的网络压缩条件时,对设备集群进行压缩处理以移除设备集群中的部分计算设备。
[0123]
随着关系图网络的网络规模不断压缩变小,在对其进行节点核心度挖掘时所需的计算资源也逐渐减少,此时可以跟随迭代的进行而释放部分计算资源,以便减少资源开销。
[0124]
在本技术的一个实施例中,网络压缩条件可以包括关系图网络中的边的数量小于预设的数量阈值。对设备集群进行压缩处理的方式可以是根据剪枝处理后的关系图网络的网络规模对关系图网络重新进行分割得到数量减少的分区图网络,并基于减少后的分区图网络的数量调用相对较少的计算设备。
[0125]
在本技术的一个实施例中,当压缩后的关系图网络的网络规模满足某一条件时,可以在设备集群中选取一个计算设备作为对关系图模型进行单机计算的目标节点,并从设备集群中移除除目标节点以外的其他计算设备。由此可以实现从基于多个计算设备的分布式计算模式转变为基于单个计算设备的集中式计算模式。
[0126]
应当注意,尽管在附图中以特定顺序描述了本技术实施例中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0127]
基于以上实施例中对数据处理方法的介绍可知,本技术实施例提供的数据处理方法涉及一种基于压缩剪枝思想进行k

core挖掘的方法。在一些可选的实施方式中,该方法可以依托于h指数的迭代更新来进行,在满足指定条件时可以自动地进行图网络压缩剪枝。本技术实施例提供的数据处理方法在一应用场景中的方法流程可以包括以下步骤。
[0128]
(1)对关系图网络g(v,e)中的每个节点v,使用节点度数初始化其core值,其中deg(v)表示节点度数,也即节点的邻居个数。用最小的节点度数初始化mincore,即
[0129]
(2)设置nummsgs参数表示每轮迭代中core值变化了的节点个数,用零初始化nummsgs。
[0130]
(3)对g(v,e)中的每个节点,根据其邻居节点的core值计算h指数(即h

index值),作为本轮迭代的core值作为本轮迭代的core值作为本轮迭代的core值这里n(v)表示
节点v的邻居节点集合。当时,更新该节点core值,且nummsgs增加1,同时计算本轮更新的节点的最小core值mincore
(t)

[0131]
(4)判断nummsgs是否为0,当nummsgs为0时,表明所有节点core值不再被更新,停止迭代;否则执行步骤(5)。
[0132]
(5)判断mincore
(t)
>mincore
(t

1)
是否成立,如果是,则执行压缩剪枝策略:保存core值小于等于mincore
(t

1)
的节点及对应core值,同时将这些节点及对应连边从g(v,e)迭代图中去除,得到压缩后的子图g

(v,e)。在g

(v,e)上继续执行第3

5步的迭代;当不满足mincore
(t)
>mincore
(t

1)
时,继续在原图上执行第3

5步的迭代。
[0133]
对于大规模图网络的k

core挖掘,上述迭代步骤首先以分布式并行计算的方式展开。当压缩后的子图g

(v,e)的规模满足给定条件(例如边数量小于3千万)时,可以将分布式计算转换为单机计算的模式。单机计算模式不仅能释放大量计算资源,还能节省由并行计算带来的数据分发等额外时间开销。尤其对于含有长链结构的图网络来说,迭代后期通常聚焦在长链节点的更新上,此时使用单机计算模式更为合适。
[0134]
本技术实施例中的k

core挖掘算法可以在spark on angel平台上实现分布式计算。其中,spark是一个专为大规模数据处理而设计的快速通用的计算引擎,angel是一个基于参数服务器(parameter server,ps)理念设计和开发的高性能分布式机器学习平台。spark on angel平台是一个将angel强大的参数服务器功能与spark的大规模数据处理能力相结合的高性能分布式计算平台,支持传统机器学习、深度学习和各类图算法。
[0135]
图9示出了本技术实施例在一应用场景中进行k

core挖掘的整体架构及处理流程图。如图9所示,在spark driver的驱动下,每一个executor负责存储邻接表分区数据(即分区图网络graph partion的网络数据)、计算h

index值和执行压缩剪枝操作,angel parameter server负责存储和更新节点core值,也即图9中的coreness向量。为了利用k

core挖掘的稀疏性加快迭代收敛,ps上会同时存储本轮迭代和下一轮迭代需要计算的节点,分别为图9中的readmessage向量和writemessage向量。将本轮迭代中有更新的节点称为活跃节点,根据节点core值由其邻居节点决定的性质,活跃节点core值的变化将会影响其邻居节点的core值,因此其邻居节点在下一轮迭代中应该被计算,所以writemessage中实时存储的是本轮迭代中活跃节点的邻居节点。
[0136]
executor和ps在每轮迭代中以如下交互方式进行数据处理。
[0137]
(1)在executor上初始化mincore
(t)
=mincore
(t

1)
,同时为本轮迭代开辟changedcore和keys2calc两个向量空间,分别用于存储本轮迭代中有更新的节点和下轮迭代中需要计算的节点。
[0138]
(2)从ps的readmessage中拉取本轮迭代中需要计算的节点(下面将直接称为计算节点),如果是第一次迭代则是所有节点。
[0139]
(3)从第2步中得到的计算节点确定本轮迭代中涉及计算的所有节点(计算节点及其对应邻居),并从ps的coreness中拉取对应core值。
[0140]
(4)对计算节点中的每一个节点v,计算其邻居节点core值的h

index值,作为该节
点的新一轮core值如果将写入到changedcore中,同时将节点v的core值大于mincore
(t

1)
的邻居节点写入到keys2calc中,确定mincore
(t)

[0141]
(5)用changedcore更新ps上的coreness向量,用keys2calc更新ps上的writemessage向量。
[0142]
最后,当所有分区数据都完成一轮迭代后,在ps上,用writemessage替换readmessage,同时重置writemessage,准备下一轮的ps读写。在汇总所有数据分区得到全局mincore
(t)
之后,判断mincore
(t)
>mincore
(t

1)
是否成立。如果成立,则对所有数据分区执行上述的压缩剪枝方法。
[0143]
本技术实施例提供的基于压缩思想的k

core挖掘方法,可以解决超大规模网络中k

core挖掘带来的资源开销大,耗时长的问题。根据k

core挖掘的迭代特点,设计了一种实时压缩方法,可以随着迭代的进行释放部分计算资源;结合分布式并行计算和单机计算的优势提高k

core挖掘性能;在spark on angel高性能图计算平台上实现了基于压缩思想的k

core挖掘方法,可以支持百亿/千亿级边的超大规模网络,资源开销小且性能高。
[0144]
以下介绍本技术的装置实施例,可以用于执行本技术上述实施例中的数据处理方法。图10示意性地示出了本技术实施例提供的数据处理装置的结构框图。如图10所示,数据处理装置1000主要可以包括:图网络获取模块1010,被配置为获取用于表示多个交互对象之间的交互关系的关系图网络,所述关系图网络包括用于表示交互对象的节点和用于表示交互关系的边;核心度挖掘模块1020,被配置为通过包括多个计算设备的设备集群对所述关系图网络进行核心度挖掘,以迭代更新所述关系图网络中的全部节点或者部分节点的节点核心度;网络剪枝模块1030,被配置为根据所述节点核心度对所述关系图网络进行剪枝处理,以移除所述关系图网络中的部分节点和边;集群压缩模块1040,被配置为当所述关系图网络的网络规模满足预设的网络压缩条件时,对所述设备集群进行压缩处理以移除所述设备集群中的部分计算设备。
[0145]
在本技术的一些实施例中,基于以上各实施例,所述集群压缩模块1040包括:单机计算单元,被配置为在所述设备集群中选取一个计算设备作为对所述关系图模型进行单机计算的目标节点,并从所述设备集群中移除除所述目标节点以外的其他计算设备。
[0146]
在本技术的一些实施例中,基于以上各实施例,所述核心度挖掘模块1020包括:网络分割单元,被配置为对所述关系图网络进行分割处理,得到由所述关系图网络中的部分节点和边组成的分区图网络;网络分配单元,被配置为将所述分区图网络分配至包括多个计算设备的设备集群,以确定用于对所述分区图网络进行核心度挖掘的计算设备;分区挖掘单元,被配置为对所述分区图网络进行核心度挖掘,以迭代更新所述关系图网络中的各个节点的节点核心度。
[0147]
在本技术的一些实施例中,基于以上各实施例,所述分区挖掘单元包括:节点选取子单元,被配置为在所述分区图网络中选取在当前迭代轮次中进行核心度挖掘的计算节点,并确定与所述计算节点具有邻接关系的邻居节点;核心度获取子单元,被配置为获取所述计算节点以及所述邻居节点在当前迭代轮次中的当前节点核心度;核心度计算子单元,被配置为根据所述邻居节点的当前节点核心度确定所述计算节点的临时节点核心度,并将
所述临时节点核心度小于当前节点核心度的计算节点标记为活跃节点;核心度更新子单元,被配置为根据所述临时节点核心度更新所述活跃节点的当前节点核心度,并将所述活跃节点以及与所述活跃节点具有邻接关系的邻居节点确定为在下一迭代轮次中进行核心度挖掘的计算节点。
[0148]
在本技术的一些实施例中,基于以上各实施例,所述核心度计算子单元包括:h指数计算子单元,被配置为根据所述邻居节点的当前节点核心度确定所述计算节点的h指数,并将所述h指数作为所述计算节点的临时节点核心度,所述h指数表示在所述计算节点的所有邻居节点中至多包括h个邻居节点的当前节点核心度大于或等于h。
[0149]
在本技术的一些实施例中,基于以上各实施例,所述h指数计算子单元包括:节点排序子单元,被配置为按照所述当前节点核心度由高到低的顺序对所述计算节点的所有邻居节点进行排序,并为各个所述邻居节点分配以0起始的排列序号;节点筛选子单元,被配置为分别比较各个邻居节点的排列序号和当前节点核心度,以根据比较结果筛选排列序号大于或等于当前节点核心度的邻居节点;h指数确定子单元,被配置为在筛选出的邻居节点中,将排列序号最小的邻居节点的当前节点核心度确定为所述计算节点的h指数。
[0150]
在本技术的一些实施例中,基于以上各实施例,所述节点选取子单元包括:标识读取子单元,被配置为从第一存储空间中读取待更新节点的节点标识,所述待更新节点包括在前一迭代轮次中更新节点核心度的活跃节点以及与所述活跃节点具有邻接关系的邻居节点;标识选取子单元,被配置为根据所述待更新节点的节点标识在所述分区图网络中选取在当前迭代轮次中进行核心度挖掘的计算节点。
[0151]
在本技术的一些实施例中,基于以上各实施例,所述数据处理装置还包括:核心度写入模块,被配置为将更新后的所述活跃节点的当前节点核心度写入第二存储空间,所述第二存储空间用于存储所述关系图网络中的所有节点的节点核心度;标识写入模块,被配置为获取所述活跃节点以及所述活跃节点的邻居节点的节点标识,并将所述节点标识写入第三存储空间,所述第三存储空间用于存储下一迭代轮次中进行核心度挖掘的计算节点;空间覆盖模块,被配置为在当前迭代轮次中完成所有分区图网络的核心的挖掘后,将所述第三存储空间覆盖第一存储空间中的数据并重置所述第三存储空间。
[0152]
在本技术的一些实施例中,基于以上各实施例,所述核心度获取子单元包括:核心度读取子单元,被配置为从第二存储空间中读取所述计算节点以及所述邻居节点在当前迭代轮次中的当前节点核心度,所述第二存储空间用于存储所述关系图网络中的所有节点的节点核心度。
[0153]
在本技术的一些实施例中,基于以上各实施例,所述网络剪枝模块1030包括:最小核心度获取单元,被配置为获取在当前迭代轮次中的活跃节点的最小核心度以及在前一迭代轮次中的活跃节点的最小核心度;收敛节点筛选单元,被配置为若所述当前迭代轮次中的活跃节点的最小核心度大于所述前一迭代轮次中的活跃节点的最小核心度,则根据所述前一迭代轮次中的活跃节点的最小核心度筛选所述关系图网络中的收敛节点,所述收敛节点是节点核心度小于或等于所述前一迭代轮次中的活跃节点的最小核心度的节点;收敛节点移除单元,被配置为从所述关系图网络中移除所述收敛节点以及与所述收敛节点相连的边。
[0154]
在本技术的一些实施例中,基于以上各实施例,所述网络压缩条件包括所述关系
图网络中的边的数量小于预设的数量阈值。
[0155]
本技术各实施例中提供的数据处理装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
[0156]
图11示意性地示出了用于实现本技术实施例的电子设备的计算机系统结构框图。
[0157]
需要说明的是,图11示出的电子设备的计算机系统1100仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0158]
如图11所示,计算机系统1100包括中央处理器1101(central processing unit,cpu),其可以根据存储在只读存储器1102(read

only memory,rom)中的程序或者从存储部分1108加载到随机访问存储器1103(random access memory,ram)中的程序而执行各种适当的动作和处理。在随机访问存储器1103中,还存储有系统操作所需的各种程序和数据。中央处理器1101、在只读存储器1102以及随机访问存储器1103通过总线1104彼此相连。输入/输出接口1105(input/output接口,即i/o接口)也连接至总线1104。
[0159]
以下部件连接至输入/输出接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至输入/输出接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
[0160]
特别地,根据本技术的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理器1101执行时,执行本技术的系统中限定的各种功能。
[0161]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read

only memory,cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代
码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0162]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0163]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0164]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd

rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
[0165]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
[0166]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜