CN111061744B - 图数据的更新方法、装置、计算机设备及存储介质 - Google Patents
图数据的更新方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111061744B CN111061744B CN201811207723.3A CN201811207723A CN111061744B CN 111061744 B CN111061744 B CN 111061744B CN 201811207723 A CN201811207723 A CN 201811207723A CN 111061744 B CN111061744 B CN 111061744B
- Authority
- CN
- China
- Prior art keywords
- data
- updated
- graph
- priority class
- point
- 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
Links
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种图数据的更新方法、装置、计算机设备及存储介质,其中该方法包括:接收待更新数据;根据分类信息确定所述待更新数据的优先级类别;按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,以实现图数据的更新。本发明实施例对图数据进行更新优先级的分类,针对不同类别的数据采用不同的更新机制,减少检索开销,提高更新效率,并且在保证高优数据更新效率的同时,也能保证低优数据的更新完备性,以达到最终一致性。
Description
技术领域
本发明实施例涉及图数据更新技术,尤其涉及一种图数据的更新方法、装置、计算机设备及存储介质。
背景技术
在互联网大数据发展背景下,很多数据之间存在关联,这些关联数据一般以图结构的形式进行存储,在图结构中,将实体作为点数据,将实体之间的关系作为边数据。随着新增业务数据的生成,已存的图数据可能会发生变化,因此需要对已存的图数据进行更新。对于社交网络、知识图谱、关联关系等复杂场景,图数据规模较大,更新起来比较复杂。
目前图数据的更新方案如下:
(1)基于点/边结构的更新机制,在图结构中对待更新的点或边进行检索,若检索到,则进行更新。该方案更新效率低,尤其对于关系边的更新,若两点之间存在多条边,则存在多次检索开销,因此该方案不适用于大规模数据的更新,例如不适合GB以上规模的数据。
(2)基于LRU(Least Recently Used,最近最少使用)的数据淘汰更新,即按照固定的淘汰时间定期删除最近最少使用的数据。该方案针对全量数据进行更新,并且,对于稳定数据(如身份证与户籍信息这种长时间不变的数据),在确保资源未淘汰前也要定期对全量数据进行更新,更新开销较大。
发明内容
本发明实施例提供一种图数据的更新方法、装置、计算机设备及存储介质,以减少检索开销,提高更新效率。
第一方面,本发明实施例提供了一种图数据的更新方法,包括:
接收待更新数据;
根据分类信息确定所述待更新数据的优先级类别;
按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,以实现图数据的更新。
第二方面,本发明实施例还提供了一种图数据的更新装置,包括:
数据接收模块,用于接收待更新数据;
类别确定模块,用于根据分类信息确定所述待更新数据的优先级类别;
数据更新模块,用于按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,以实现图数据的更新。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的图数据的更新方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的图数据的更新方法。
本发明实施例的技术方案,对图数据进行更新优先级的分类,针对不同类别的数据采用不同的更新机制,减少检索开销,提高更新效率,并且在保证高优数据更新效率的同时,也能保证低优数据的更新完备性,以达到最终一致性。
附图说明
图1是本发明实施例一提供的图数据的更新方法的流程图;
图2是本发明实施例二提供的第一优先级类别对应的更新方式的流程图;
图3是本发明实施例三提供的第二优先级类别对应的更新方式的流程图;
图4是本发明实施例五提供的图数据的更新装置的结构示意图;
图5是本发明实施例六提供的计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的图数据的更新方法的流程图,本实施例可适用于对已有的图数据(即以图结构形式存储的数据)进行更新的情况,该方法可以由图数据的更新装置来执行,该装置可以由软件和/或硬件来实现,一般可集成在具备计算处理功能的计算机设备中。如图1所示,该方法具体包括:
S110,接收待更新数据。
其中,基于图数据的业务平台一般包括处理环节和存储环节,处理环节用于进行业务处理并生成业务数据,存储环节用于根据业务数据更新已有的图,例如,用户A向用户B转账,会产生相应的业务数据,这个新的业务数据需要存储到已有的图中;又如,用户C的户籍地址发生变化,会产生相应的业务数据,根据这个业务数据对图中已有的相应数据进行更新。待更新数据是指经过处理环节处理后的流转到存储环节的业务数据。
S120,根据分类信息确定所述待更新数据的优先级类别。
S130,按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,以实现图数据的更新。
本实施例中,优先级类别是指数据更新的优先级,例如,银行卡和持有人之间是稳定关系,但其具体的银行流水、银行卡余额等数据需要实时更新,则这类数据的优先级类别较高;用户与WIFI的连接经常变化,没有必要实时对图数据进行更新,这类数据的优先级类别较低。分类信息是按照预设规则对图中已有的图数据进行分类后,得到的图数据与优先级类别的对应关系。分类信息随着图中数据的变化而变化,例如,图中新增了数据,则分类信息中也要添加该新数据与优先级类别的对应关系。不同的优先级类别对应不同的更新方式,以进行针对性的更新处理,从而提高更新效率。
可选的,根据分类信息确定所述待更新数据的优先级类别,包括:在所述分类信息中查找与所述待更新数据匹配的数据;若查找到与所述待更新数据匹配的数据,则将所述匹配的数据的优先级类别确定为所述待更新数据的优先级类别;若未查找到与所述待更新数据匹配的数据,则将所述待更新数据添加到图中,按照预设规则确定所述待更新数据的优先级类别,并将所述待更新数据及其优先级类别的对应关系存储到所述分类信息中。
本可选实施方式中,若待更新数据为图中没有的数据,则将其添加到图中,并存储该待更新数据的分类信息,以保证后续更新时能够及时获取此数据的优先级类别。
可选的,在接收待更新数据之前,按照数据的更新频率和数据的规模对所述图数据进行分类,以确定各个图数据的优先级类别;存储各个图数据及其优先级类别的对应关系,作为所述分类信息。
其中,按照数据更新频率的高低和数据规模的大小对图中已有的图数据进行分类,以得到分类信息。数据更新频率的高低反映数据的稳定程度,数据规模反映数据客观存在或者数据借助载体发生,按照这两个条件来进行数据的分类,进而对不同优先级类别以不同的更新方式进行更新,例如,稳定的数据实时更新,高频变化的数据定期删除更新。
具体的,按照数据的更新频率和数据的规模对所述图数据进行分类,包括:
若当前图数据的更新频率低于第一预设阈值且规模小于第二预设阈值,确定所述当前图数据属于第一优先级类别;
若当前图数据的更新频率低于所述第一预设阈值且规模大于所述第二预设阈值,确定所述当前图数据属于第二优先级类别;
若当前图数据的更新频率高于所述第一预设阈值且规模大于所述第二预设阈值,确定所述当前图数据属于第三优先级类别。
其中,第一优先级类别的更新优先级高于第二优先级类别,第二优先级类别的更新优先级高于第三优先级类别。根据数据的更新频率可以将数据分为:稳定关系数据和高频关系数据。稳定关系是指两实体间的关系相对稳定,更新频次低,例如,人的身份证与户籍信息。高频关系是指两实体间的关系根据“空间-时间”的不同会发生高频的变化,例如,用户ID与IP地址,频繁连接会导致其关系常常变化。根据数据产生的规模可以将数据分为:实体关系数据和行为关系数据。实体关系数据是指规模较小的数据,一般是客观存在的真实关系,如夫妻、雇主、房产等。行为关系数据是指规模较大的数据,一般指借助某一个载体发生的行为,如出行、定位等。同时属于稳定关系和实体关系的数据,是一对一数据,对应于第一优先级类别,更新优先级最高;同时属于稳定关系和行为关系的数据,是一对多数据,对应于第二优先级类别;同时属于高频关系和行为关系的数据,是多对多数据,对应于第三优先级类别,更新优先级最低。
第一预设阈值和第二预设阈值均可以根据图数据的实际情况进行设置,例如,第一预设阈值设置为一个月一次,低于第一预设阈值的图数据是稳定关系数据,高于第一预设阈值的图数据是高频关系数据;第二预设阈值设置为月均积累数据GB量级,小于第二预设阈值的图数据是实体关系数据,大于第二预设阈值的图数据是行为关系数据。在实际应用中,进行阈值判断时,可以根据需求对等于阈值的情况进行设置,例如,若当前图数据的更新频率低于第一预设阈值且规模大于或等于第二预设阈值,确定当前图数据属于第二优先级类别;若当前图数据的更新频率高于或等于第一预设阈值且规模大于或等于第二预设阈值,确定当前图数据属于第三优先级类别。
本实施例的技术方案,对图数据进行更新优先级的分类,针对不同类别的数据采用不同的更新机制,减少检索开销,提高更新效率,并且在保证高优数据更新效率的同时,也能保证低优数据的更新完备性,以达到最终一致性。
实施例二
本实施例在上述实施例的基础上,提供了第一优先级类别对应的更新方式的实施例。具体的,若所述待更新数据的优先级类别为第一优先级类别,S130中按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,包括:
若所述待更新数据是点数据,从预存索引信息中获取所述点数据的索引地址,按照所述点数据的索引地址在图中查找相应的点,并根据所述点数据更新该点的属性信息;
若所述待更新数据是边数据,从所述预存索引信息中获取所述边数据的出度点的索引地址和入度点的索引地址,确定所述出度点和所述入度点之间存在唯一的边,按照所述出度点的索引地址和所述入度点的索引地址在图中查找所述出度点与所述入度点之间的边,并根据所述边数据更新该边的属性信息。
其中,预存索引信息至少包括图数据中各个点数据与其索引地址的对应关系,当然根据实际需求,预存索引信息中还可以包括图数据中各个边数据与其索引地址的对应关系。预存索引信息适用于本发明实施例中的各更新方式,通过预存索引信息可以快速确定点或边的索引地址,按照该索引地址在图中定位点或边,从而加快检索速度。预存索引信息可以存储在缓存中。具体的,图数据中每个点或边均具备唯一标识,例如,预存索引信息可以表格的形式存储点标识及其对应的索引地址。
点的属性信息是指实体的属性,例如,实体为人物,其属性信息包括:该人物的年龄、性别、身份证号等;实体为银行卡,其属性信息包括:银行卡号、办理时间、有效期等。
在有向图中,入度点是指有方向的弧的终止点,出度点是指有方向的弧的起始点。边的属性信息是指实体之间的关联关系的属性,例如,实体人物和实体航班,某人乘坐某航班,构成了两实体之间的边,其属性信息包括:乘坐航班的时间、座位号等;又如,实体用户ID与实体IP地址,某用户ID连接某IP地址,构成了两实体之间的边,其属性信息包括:连接时间、连接频次、连接时长等。
进一步的,从预存索引信息中获取所述点数据的索引地址,包括:若从所述预存索引信息中获取不到所述点数据的索引地址,则输出第一异常消息。预存索引信息中找不到该点,表示该点是新增的点或者是脏数据,输出第一异常消息,用于提示下一个模块进行判断以及相应的处理,例如,若是新增点,则可以添加到图中,若是脏数据,则丢弃该点数据。
进一步的,从所述预存索引信息中获取所述边数据的出度点的索引地址和入度点的索引地址,包括:若从所述预存索引信息中获取不到所述出度点的索引地址或所述入度点的索引地址,则输出第二异常消息。预存索引信息中找不到出度点或入度点,表示该待更新的边数据是新增的边或者是脏数据,输出第二异常消息,用于提示下一个模块进行判断以及相应的处理,例如,若是新增边,则可以添加到图中,若是脏数据,则丢弃该边数据。
进一步的,按照所述出度点的索引地址和所述入度点的索引地址在图中查找所述出度点与所述入度点之间的边,包括:若图中查找不到所述出度点与所述入度点之间的边,则根据所述边数据在图中插入该边。由于已经确定这条边是两点之间唯一的边(即一对一的边),关系明显,因此若图中查找不到该边,可以直接将该边插入到图中,而无需经过下一模块的判断和处理,从而节省资源。
图2是本发明实施例二提供的第一优先级类别对应的更新方式的流程图,第一优先级类别对应的更新方式为基于定向数据的全息更新,所谓全息更新是指数据更新后马上生效,例如,银行流水、银行卡余额等需要实时更新的场景。如图2所示,基于定向数据的全息更新包括:
(1)判断数据结构,即判断待更新数据是点数据还是边数据。
(2)若是点数据,进行点内置索引join(挂接),即,在缓存的索引信息中获取该待更新的点数据对应的索引地址,并将该索引地址挂接到点数据后面,进而可以按照该索引地址在图中查找点。具体的,若挂接索引地址成功,表示缓存中存在该点,若挂接索引地址失败,表示缓存中不存在该点。
(3)若缓存中不存在该点,则输出异常消息。
(4)若缓存中存在该点,则按照挂接的索引地址在图中相应位置检索该点,并更新该点属性信息,点数据的更新完成。
(5)若是边数据,分别进行边的出度点索引join以及边的入度点索引join,即,在缓存的索引信息中获取出度点和入度点的索引地址,以确定缓存中是否存在相应的出度点和入度点。其中,出度点和入度点的处理顺序不作限定。
(6)若缓存中不存在出度点或入度点,则输出异常消息。
(7)若缓存中均存在出度点和入度点,则检索两点之间是否存在一对一的边。具体的,图中点之间的边的条数信息可以预先进行存储,此处根据该预存信心确定上述两点之间是否存在一对一的边。
(8)若两点之间存在一对一的边,则按照出度点的索引地址和入度点的索引地址在图中检索该边,若图中存在该边,则更新该边的属性信息,若图中不存在该边,则进行边的重新生成,即在图中插入该边。边数据的更新完成。
(9)若两点之间不存在一对一的边,表示待更新的边数据不适用本更新方式,结束流程。
本实施例的技术方案,针对稳定类的实体关系数据(数据规模和更新频率相对可控)进行定向数据的全息更新,利用预存的索引地址信息优化了检索通路,减少了检索次数,实效性更高,能够满足时效性要求。
实施例三
本实施例在上述实施例的基础上,提供了第二优先级类别对应的更新方式的实施例。具体的,若所述待更新数据的优先级类别为第二优先级类别,S130中按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,包括:
确定所述待更新数据命中缓存中缓存的更新数据;根据所述待更新数据更新所述缓存中的相应数据;通过轮询将所述缓存中满足写入条件的更新数据写入到图中,覆盖所述图中相应的原数据。
本实施例将属于第二优先级类别的更新数据全部写在缓存中,通过轮询的方式将缓存中的更新数据批量写入到图中。其中,写入条件是指能够将缓存中的更新数据写入图中的条件,例如,每隔预设时间进行轮询时,将缓存中所有更新数据写入图中(如三小时写入一次),又如,某些特定数据到来且更新完缓存中的相应数据之后,触发将缓存中相应的更新数据写入图中。需要说明的是,缓存可以设置自己的删除机制,例如,缓存中的更新数据写入图中以后,缓存中仍保留更新数据,可定期删除长时间不用的更新数据。
进一步的,按照所述优先级类别对应的更新方式对所述待更新数据进行处理,还包括:若所述待更新数据没有命中所述缓存中缓存的更新数据,则在所述图中检索是否存在所述待更新数据,若存在,则根据所述待更新数据更新所述缓存中的相应数据。本实施方式中,对于缓存中没有且图中有的数据,需要将待更新数据写入缓存中,以保证缓存中的更新数据较为全面。
图3是本发明实施例三提供的第二优先级类别对应的更新方式的流程图,第二优先级类别对应的更新方式为基于缓存的数据替代,如图3所示,基于缓存的数据替代的更新流程包括:
(1)判断待更新数据是否命中缓存,即判断缓存中是否存在待更新数据。
(2)若命中,则根据待更新数据更新缓存。
(3)若未命中,则判断图中是否存在待更新数据,若图中存在该待更新数据,则根据待更新数据更新缓存。若图中不存在该待更新数据,则该数据可能是新增数据或脏数据,输出异常消息,以指示下一模块进行相应处理。
(4)判断是否触发持久化,即判断是否满足写入条件。若满足,则将缓存中的更新数据写入图中,覆盖图中原有数据;若不满足,则等待下一次轮询。
本实施例的技术方案,针对数据相对稳定且规模较大的数据,引入缓存,数据更新后主要存储在缓存中,由于后续请求访问优先读缓存,保证了实时读一致性;并且通过缓存轮询的持久化方式,定时将缓存中的数据写入图中,保证了缓存与图中数据的最终一致性,且减少频繁写图的操作,减少图库的写压力。此外,写入图时直接进行覆盖,不需要再去判断属性是否更新,从而提高更新效率。
实施例四
本实施例在上述实施例的基础上,提供了第三优先级类别对应的更新方式的实施例。具体的,若所述待更新数据的优先级类别为第三优先级类别,S130中按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,包括:
将所述待更新数据插入到图中,并存储所述待更新数据的时间属性信息,其中所述时间属性信息用于定位图数据所在的物理分区;若根据图中数据的时间属性信息检测到图中有数据的过期时间小于当前时间,确定该数据为过期数据;根据所述过期数据的时间属性信息确定所述过期数据所在的物理分区,并删除所确定的物理分区中的数据。
其中,时间属性信息是指数据的过期时间,可以利用图中各数据的时间属性信息对存储图的物理空间进行分区,例如,今天到期的图数据处于一个物理分区,明天到期的图数据处于另一个物理分区。若图中有数据达到过期时间,则从相应的物理分区删除数据。
第三优先级类别对应的更新方式为基于TTL(Time To Live,生存时间值)的淘汰更新。具体的,针对图中的第三优先级类别的数据,均会存储其时间属性信息,以键值对形式保存图数据的过期时间表。对于待更新的数据,不对图进行更新,而是直接进行批量插入,同时写入的数据会带上时间属性信息。由此,图中所有的第三优先级类别的数据均携带有时间属性信息。通过监听进程对过期时间表进行轮询,从过期时间表中挑选过期时间小于当前时间的数据,即过期数据,批量从物理存储上删除。
需要说明的是,为了省去点的检索,可以在数据处理阶段,根据预存索引信息对待更新数据批量挂接索引地址,由此在数据更新阶段,无需进行点检索,更新的耗时基本等于批量插入的耗时。
示例性的,用户连接WIFI,用户ID和WIFI ID间维护了一条连接关系,包括连接时间、频次、时长等信息,由于连接WIFI是个高频行为,每天量级高达约10亿,若通过实施例二和三中的更新方式进行更新,需要巨大的开销。而对于这类数据,用户真正关心的是最近一段时间的连接关系。因此可以以天为基础在物理上进行分区,并在过期时间表中注册键值对;通过监听进程对过期时间表进行轮询,对于过期时间小于当前时间的数据,检索对应的物理分区,直接删除相应的过期数据。
本实施例的技术方案,针对高频变化且规模较大的对时间敏感的数据,直接根据时间窗口进行批量删除,而不是检索后删除,减少频繁写开销,且数据的过期删除对用户无感知,用户只需要关注最新数据即可,减少了维护成本。
实施例五
图4是本发明实施例五提供的图数据的更新装置的结构示意图,如图4所示,该装置包括:
数据接收模块410,用于接收待更新数据;
类别确定模块420,用于根据分类信息确定所述待更新数据的优先级类别;
数据更新模块430,用于按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,以实现图数据的更新。
可选的,上述装置还包括:
分类模块,用于在接收待更新数据之前,按照数据的更新频率和数据的规模对所述图数据进行分类,以确定各个图数据的优先级类别;
存储模块,用于存储各个图数据及其优先级类别的对应关系,作为所述分类信息。
可选的,分类模块具体用于:
若当前图数据的更新频率低于第一预设阈值且规模小于第二预设阈值,确定所述当前图数据属于第一优先级类别;
若当前图数据的更新频率低于所述第一预设阈值且规模大于所述第二预设阈值,确定所述当前图数据属于第二优先级类别;
若当前图数据的更新频率高于所述第一预设阈值且规模大于所述第二预设阈值,确定所述当前图数据属于第三优先级类别。
可选的,类别确定模块420包括:
数据查找单元,用于在所述分类信息中查找与所述待更新数据匹配的数据;
类别确定单元,用于若查找到与所述待更新数据匹配的数据,则将所述匹配的数据的优先级类别确定为所述待更新数据的优先级类别;以及,若未查找到与所述待更新数据匹配的数据,则将所述待更新数据添加到图中,按照预设规则确定所述待更新数据的优先级类别,并将所述待更新数据及其优先级类别的对应关系存储到所述分类信息中。
可选的,若所述待更新数据的优先级类别为第一优先级类别,所述数据更新模块430包括:
点更新单元,用于若所述待更新数据是点数据,从预存索引信息中获取所述点数据的索引地址,按照所述点数据的索引地址在图中查找相应的点,并根据所述点数据更新该点的属性信息;
边更新单元,用于若所述待更新数据是边数据,从所述预存索引信息中获取所述边数据的出度点的索引地址和入度点的索引地址,确定所述出度点和所述入度点之间存在唯一的边,按照所述出度点的索引地址和所述入度点的索引地址在图中查找所述出度点与所述入度点之间的边,并根据所述边数据更新该边的属性信息。
可选的,点更新单元具体用于:若从所述预存索引信息中获取不到所述点数据的索引地址,则输出第一异常消息;边更新单元具体用于:若从所述预存索引信息中获取不到所述出度点的索引地址或所述入度点的索引地址,则输出第二异常消息;若图中查找不到所述出度点与所述入度点之间的边,则根据所述边数据在图中插入该边。
可选的,若所述待更新数据的优先级类别为第二优先级类别,所述数据更新模块430包括:
缓存确定单元,用于确定所述待更新数据命中缓存中缓存的更新数据;
缓存更新单元,用于根据所述待更新数据更新所述缓存中的相应数据;
轮询写入单元,用于通过轮询将所述缓存中满足写入条件的更新数据写入到图中,覆盖所述图中相应的原数据。
进一步的,所述数据更新模块630还用于:若所述待更新数据没有命中所述缓存中缓存的更新数据,则在所述图中检索是否存在所述待更新数据,若存在,则根据所述待更新数据更新所述缓存中的相应数据。
可选的,若所述待更新数据的优先级类别为第三优先级类别,所述数据更新模块430包括:
数据插入单元,用于将所述待更新数据插入到图中,并存储所述待更新数据的时间属性信息,其中所述时间属性信息用于定位图数据所在的物理分区;
过期数据确定单元,用于若根据图中数据的时间属性信息检测到图中有数据的过期时间小于当前时间,确定该数据为过期数据;
过期数据删除单元,用于根据所述过期数据的时间属性信息确定所述过期数据所在的物理分区,并删除所确定的物理分区中的数据。
本发明实施例所提供的图数据的更新装置可执行本发明任意实施例所提供的图数据的更新方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的图数据的更新方法。
实施例六
本实施例提供了一种计算机设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的图数据的更新方法。
图5是本发明实施例六提供的计算机设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图5显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的图数据的更新方法。
实施例七
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的图数据的更新方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (15)
1.一种图数据的更新方法,其特征在于,包括:
接收待更新数据;
根据分类信息确定所述待更新数据的优先级类别;所述分类信息是按照预设规则对图中已有的图数据进行分类后,得到的图数据与优先级类别的对应关系;
按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,以实现图数据的更新;其中,不同优先级类别对应的更新方式不同。
2.根据权利要求1所述的方法,其特征在于,在接收待更新数据之前,还包括:
按照数据的更新频率和数据的规模对所述图数据进行分类,以确定各个图数据的优先级类别;
存储各个图数据及其优先级类别的对应关系,作为所述分类信息。
3.根据权利要求2所述的方法,其特征在于,按照数据的更新频率和数据的规模对所述图数据进行分类,包括:
若当前图数据的更新频率低于第一预设阈值且规模小于第二预设阈值,确定所述当前图数据属于第一优先级类别;
若当前图数据的更新频率低于所述第一预设阈值且规模大于所述第二预设阈值,确定所述当前图数据属于第二优先级类别;
若当前图数据的更新频率高于所述第一预设阈值且规模大于所述第二预设阈值,确定所述当前图数据属于第三优先级类别。
4.根据权利要求1所述的方法,其特征在于,根据分类信息确定所述待更新数据的优先级类别,包括:
在所述分类信息中查找与所述待更新数据匹配的数据;
若查找到与所述待更新数据匹配的数据,则将所述匹配的数据的优先级类别确定为所述待更新数据的优先级类别;
若未查找到与所述待更新数据匹配的数据,则将所述待更新数据添加到图中,按照预设规则确定所述待更新数据的优先级类别,并将所述待更新数据及其优先级类别的对应关系存储到所述分类信息中。
5.根据权利要求1所述的方法,其特征在于,若所述待更新数据的优先级类别为第一优先级类别,按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,包括:
若所述待更新数据是点数据,从预存索引信息中获取所述点数据的索引地址,按照所述点数据的索引地址在图中查找相应的点,并根据所述点数据更新该点的属性信息;
若所述待更新数据是边数据,从所述预存索引信息中获取所述边数据的出度点的索引地址和入度点的索引地址,确定所述出度点和所述入度点之间存在唯一的边,按照所述出度点的索引地址和所述入度点的索引地址在图中查找所述出度点与所述入度点之间的边,并根据所述边数据更新该边的属性信息。
6.根据权利要求5所述的方法,其特征在于,
从预存索引信息中获取所述点数据的索引地址,包括:
若从所述预存索引信息中获取不到所述点数据的索引地址,则输出第一异常消息;
从所述预存索引信息中获取所述边数据的出度点的索引地址和入度点的索引地址,包括:
若从所述预存索引信息中获取不到所述出度点的索引地址或所述入度点的索引地址,则输出第二异常消息;
按照所述出度点的索引地址和所述入度点的索引地址在图中查找所述出度点与所述入度点之间的边,包括:
若图中查找不到所述出度点与所述入度点之间的边,则根据所述边数据在图中插入该边。
7.根据权利要求1所述的方法,其特征在于,若所述待更新数据的优先级类别为第二优先级类别,按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,包括:
确定所述待更新数据命中缓存中缓存的更新数据;
根据所述待更新数据更新所述缓存中的相应数据;
通过轮询将所述缓存中满足写入条件的更新数据写入到图中,覆盖所述图中相应的原数据。
8.根据权利要求7所述的方法,其特征在于,按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,还包括:
若所述待更新数据没有命中所述缓存中缓存的更新数据,则在所述图中检索是否存在所述待更新数据,若存在,则根据所述待更新数据更新所述缓存中的相应数据。
9.根据权利要求1所述的方法,其特征在于,若所述待更新数据的优先级类别为第三优先级类别,按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,包括:
将所述待更新数据插入到图中,并存储所述待更新数据的时间属性信息,其中所述时间属性信息用于定位图数据所在的物理分区;
若根据图中数据的时间属性信息检测到图中有数据的过期时间小于当前时间,确定该数据为过期数据;
根据所述过期数据的时间属性信息确定所述过期数据所在的物理分区,并删除所确定的物理分区中的数据。
10.一种图数据的更新装置,其特征在于,包括:
数据接收模块,用于接收待更新数据;
类别确定模块,用于根据分类信息确定所述待更新数据的优先级类别;所述分类信息是按照预设规则对图中已有的图数据进行分类后,得到的图数据与优先级类别的对应关系;
数据更新模块,用于按照所述优先级类别对应的更新方式,对所述待更新数据进行处理,以实现图数据的更新;其中,不同优先级类别对应的更新方式不同。
11.根据权利要求10所述的装置,其特征在于,若所述待更新数据的优先级类别为第一优先级类别,所述数据更新模块包括:
点更新单元,用于若所述待更新数据是点数据,从预存索引信息中获取所述点数据的索引地址,按照所述点数据的索引地址在图中查找相应的点,并根据所述点数据更新该点的属性信息;
边更新单元,用于若所述待更新数据是边数据,从所述预存索引信息中获取所述边数据的出度点的索引地址和入度点的索引地址,确定所述出度点和所述入度点之间存在唯一的边,按照所述出度点的索引地址和所述入度点的索引地址在图中查找所述出度点与所述入度点之间的边,并根据所述边数据更新该边的属性信息。
12.根据权利要求10所述的装置,其特征在于,若所述待更新数据的优先级类别为第二优先级类别,所述数据更新模块包括:
缓存确定单元,用于确定所述待更新数据命中缓存中缓存的更新数据;
缓存更新单元,用于根据所述待更新数据更新所述缓存中的相应数据;
轮询写入单元,用于通过轮询将所述缓存中满足写入条件的更新数据写入到图中,覆盖所述图中相应的原数据。
13.根据权利要求10所述的装置,其特征在于,若所述待更新数据的优先级类别为第三优先级类别,所述数据更新模块包括:
数据插入单元,用于将所述待更新数据插入到图中,并存储所述待更新数据的时间属性信息,其中所述时间属性信息用于定位图数据所在的物理分区;
过期数据确定单元,用于若根据图中数据的时间属性信息检测到图中有数据的过期时间小于当前时间,确定该数据为过期数据;
过期数据删除单元,用于根据所述过期数据的时间属性信息确定所述过期数据所在的物理分区,并删除所确定的物理分区中的数据。
14.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的图数据的更新方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的图数据的更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811207723.3A CN111061744B (zh) | 2018-10-17 | 2018-10-17 | 图数据的更新方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811207723.3A CN111061744B (zh) | 2018-10-17 | 2018-10-17 | 图数据的更新方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111061744A CN111061744A (zh) | 2020-04-24 |
CN111061744B true CN111061744B (zh) | 2023-08-01 |
Family
ID=70296991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811207723.3A Active CN111061744B (zh) | 2018-10-17 | 2018-10-17 | 图数据的更新方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061744B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182039A (zh) * | 2020-09-30 | 2021-01-05 | 中国民航信息网络股份有限公司 | 一种数据缓存方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013246654A (ja) * | 2012-05-25 | 2013-12-09 | Nec Corp | ログ管理装置、ログ管理方法、及びログ管理プログラム |
CN104516825A (zh) * | 2013-09-30 | 2015-04-15 | 三星电子株式会社 | 高速缓冲存储器系统及其操作方法 |
CN107291768A (zh) * | 2016-04-11 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种索引建立的方法及装置 |
CN107330471A (zh) * | 2017-07-05 | 2017-11-07 | 百度在线网络技术(北京)有限公司 | 反馈内容的问题定位方法和装置、计算机设备、存储介质 |
CN107679189A (zh) * | 2017-09-30 | 2018-02-09 | 百度在线网络技术(北京)有限公司 | 一种兴趣点更新方法、装置、服务器和介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5023899B2 (ja) * | 2007-09-03 | 2012-09-12 | 日本電気株式会社 | ストリームデータ制御システム、ストリームデータ制御方法およびストリームデータ制御用プログラム |
US8166002B2 (en) * | 2008-06-24 | 2012-04-24 | International Business Machines Corporation | Flexible configuration item reconciliation based on data source prioritization and persistent ownership tracking |
CN103984779A (zh) * | 2014-06-06 | 2014-08-13 | 北京联时空网络通信设备有限公司 | 一种数据更新方法及装置 |
CN105491117B (zh) * | 2015-11-26 | 2018-12-21 | 北京航空航天大学 | 面向实时数据分析的流式图数据处理系统及方法 |
ES2899933T3 (es) * | 2016-03-15 | 2022-03-15 | Datomia Res Labs Ou | Gestión y seguridad de datos del sistema de almacenamiento distribuido |
CN106933801B (zh) * | 2017-02-13 | 2021-02-05 | 北京安云世纪科技有限公司 | 一种词库的更新方法和装置 |
-
2018
- 2018-10-17 CN CN201811207723.3A patent/CN111061744B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013246654A (ja) * | 2012-05-25 | 2013-12-09 | Nec Corp | ログ管理装置、ログ管理方法、及びログ管理プログラム |
CN104516825A (zh) * | 2013-09-30 | 2015-04-15 | 三星电子株式会社 | 高速缓冲存储器系统及其操作方法 |
CN107291768A (zh) * | 2016-04-11 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种索引建立的方法及装置 |
CN107330471A (zh) * | 2017-07-05 | 2017-11-07 | 百度在线网络技术(北京)有限公司 | 反馈内容的问题定位方法和装置、计算机设备、存储介质 |
CN107679189A (zh) * | 2017-09-30 | 2018-02-09 | 百度在线网络技术(北京)有限公司 | 一种兴趣点更新方法、装置、服务器和介质 |
Non-Patent Citations (1)
Title |
---|
Xiongpai Qin ; Yanqin Xiao ; Wei Cao ; Shan Wang."A Parallel Recovery Scheme for Update Intensive Main Memory Database Systems".《2008 Ninth International Conference on Parallel and Distributed Computing, Applications and Technologies》.2008,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111061744A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108681565B (zh) | 区块链数据并行处理方法、装置、设备和存储介质 | |
CN106021445B (zh) | 一种加载缓存数据的方法及装置 | |
CN109766362B (zh) | 数据处理方法及装置 | |
CN112162965B (zh) | 一种日志数据处理的方法、装置、计算机设备及存储介质 | |
CN109672722B (zh) | 数据部署方法及装置、计算机存储介质和电子设备 | |
CN110825694A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN111737564A (zh) | 一种信息查询方法、装置、设备及介质 | |
CN111324441A (zh) | 运行环境的切换方法、装置、计算机设备和存储介质 | |
CN109597724B (zh) | 服务稳定性测量方法、装置、计算机设备及存储介质 | |
CN112860706A (zh) | 一种业务的处理方法、装置、设备及存储介质 | |
CN110990346A (zh) | 基于区块链的文件数据处理方法、装置、设备及存储介质 | |
CN111818145B (zh) | 一种文件传输方法、装置、系统、设备及存储介质 | |
US10783245B2 (en) | Feedback-directed static analysis | |
CN111061744B (zh) | 图数据的更新方法、装置、计算机设备及存储介质 | |
CN112395141B (zh) | 一种数据页管理方法、装置、电子设备及存储介质 | |
CN113760242B (zh) | 一种数据处理方法、装置、服务器和介质 | |
CN112883041A (zh) | 一种数据更新方法、装置、电子设备及存储介质 | |
EP4148577A2 (en) | Method and apparatus of responding to client fault detection with update operation, electronic device, and storage medium | |
CN115061947B (zh) | 资源管理方法、装置、设备和存储介质 | |
CN116304079A (zh) | 基于时序的图谱数据管理方法、设备和可读存储介质 | |
CN110674426A (zh) | 网页行为上报方法和装置 | |
US11662927B2 (en) | Redirecting access requests between access engines of respective disk management devices | |
CN114385891A (zh) | 数据搜索方法、装置、电子设备及存储介质 | |
CN111741046B (zh) | 数据上报方法、获取方法、装置、设备及介质 | |
CN114064725A (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 |