一种并发的资源更新方法与设备.pdf

上传人:a**** 文档编号:1551983 上传时间:2018-06-23 格式:PDF 页数:23 大小:645.99KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110329944.X

申请日:

2011.10.26

公开号:

CN103077174A

公开日:

2013.05.01

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20111026|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

百度在线网络技术(北京)有限公司

发明人:

王耀; 叶青

地址:

100085 北京市海淀区上地十街10号百度大厦

优先权:

专利代理机构:

北京汉昊知识产权代理事务所(普通合伙) 11370

代理人:

罗朋

PDF下载: PDF下载
内容摘要

本发明的目的是提供一种并发的资源更新方法与设备。其中,该方法首先获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;接着,根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;随后,根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。与现有技术相比,本发明在保证数据的一致性的前提下,实现对各资源更新请求进行并发处理,以提高资源更新请求的处理效率,进而提高对来自用户的资源更新请求的响应速度,提升用户使用体验。

权利要求书

权利要求书一种计算机实现的资源更新方法,其中,该方法包括以下步骤:
a获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;
b根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;
c根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。
根据权利要求1所述的方法,其中,所述步骤c还包括:
c1根据所述资源标识,判断所述多个资源更新请求之间是否存在关联关系;
c2根据所述多个资源更新请求之间是否存在关联关系,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。
根据权利要求2所述的方法,其中,所述步骤C1还包括:
c11根据所述资源标识,在资源树中进行匹配查询,以获得与所述资源标识相对应的资源节点;
c12根据所述资源节点,按照预定判断规则,判断所述多个资源更新请求之间是否存在关联关系。
根据权利要求3所述的方法,其中,所述预定判断规则包括以下至少任一项:
‑所述资源节点相同,则可判断所述多个资源更新请求之间存在关联关系;
‑所述资源节点之间具有从属关系,则可判断所述多个资源更新请求之间存在关联关系。
根据权利要求3或4所述的方法,其中,该方法还包括:
‑当对所述多个资源更新请求进行并发处理,通过对所述多个资源更新请求所对应的资源节点加锁,实现所述并发处理的冲突检测。
根据权利要求3至5中任一项所述的方法,其中,该方法还包括:
‑根据所述多个待更新资源的更新,建立或更新所述资源树信息。
根据权利要求1至6中任一项所述的方法,其中,该方法包括:
‑当未获取所述资源标识,按照所述多个资源更新请求提交的先后顺序,对所述多个资源更新请求进行串行处理,以更新所述多个待更新资源。
一种资源更新设备,其中,该设备包括:
请求获取装置,用于获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;
标识获取装置,用于根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;
并发处理装置,用于根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。
根据权利要求8所述的设备,其中,所述并发处理装置还包括:
第一关系判断单元,用于根据所述资源标识,判断所述多个资源更新请求之间是否存在关联关系;
资源更新单元,用于根据所述多个资源更新请求之间是否存在关联关系,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。
根据权利要求9所述的设备,其中,所述第一关系判断单元还包括:
节点获取单元,用于根据所述资源标识,在资源树中进行匹配查询,以获得与所述资源标识相对应的资源节点;
第二关系判断单元,用于根据所述资源节点,按照预定判断规则,判断所述多个资源更新请求之间是否存在关联关系。
根据权利要求10所述的设备,其中,所述预定判断规则包括以下至少任一项:
‑所述资源节点相同,则可判断所述多个资源更新请求之间存在关联关系;
‑所述资源节点之间具有从属关系,则可判断所述多个资源更新请求之间存在关联关系。
根据权利要求10或11所述的设备,其中,该设备还包括:
检测装置,用于当对所述多个资源更新请求进行并发处理,通过对所述多个资源更新请求所对应的资源节点加锁,实现所述并发处理的冲突检测。
根据权利要求10至12中任一项所述的设备,其中,该设备还包括:
资源树更新装置,用于根据所述多个待更新资源的更新,建立或更新所述资源树信息。
根据权利要求8至13中任一项所述的设备,其中,该设备包括:
串行处理装置,用于当未获取所述资源标识,按照所述多个资源更新请求提交的先后顺序,对所述多个资源更新请求进行串行处理,以更新所述多个待更新资源。

说明书

说明书一种并发的资源更新方法与设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种资源更新的技术。
背景技术
随着互联网技术的快速发展,网络服务器所需处理的数据信息量也越来越大。现有技术例如在社交网络社区中,为保证数据的一致性,通常对各资源更新请求进行串行处理,从而按照该各资源更新请求的提交时间的先后顺序依次更新其所对应的资源,若此,资源更新请求的处理效率低下,从而影响对来自用户的资源更新请求的响应速度,降低用户使用体验。
因此,如何有效地实现资源更新,成为目前亟待解决的问题之一。
发明内容
本发明的目的是提供一种计算机实现的资源更新的方法与设备。
根据本发明的一个方面,提供一种计算机实现的资源更新的方法,其中,该方法包括以下步骤:
a获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;
b根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;
c根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。
根据本发明的另一个方面,还提供了一种资源更新的设备,其中,该设备包括:
请求获取装置,用于获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;
标识获取装置,用于根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;
并发处理装置,用于根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。
与现有技术相比,本发明在保证数据的一致性的前提下,实现对各资源更新请求进行并发处理,以提高资源更新请求的处理效率,进而提高对来自用户的资源更新请求的响应速度,提升用户使用体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的资源更新的设备示意图;
图2示出根据本发明一个优选实施例的资源更新的设备示意图;
图3为出根据本发明另一个优选实施例的资源更新的设备示意图流程图;
图4示出根据本发明的在资源树中获取资源节点的示例图;
图5示出根据本发明另一个方面的资源更新的方法流程图;
图6示出根据本发明一个优选实施例的资源更新的方法流程图;
图7示出根据本发明另一个优选实施例的资源更新的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面的资源更新的设备示意图。处理设备1包括请求获取装置11、标识获取装置12和并发处理装置13。在此,处理设备1为网络设备,包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云,在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
如图1所示,首先,请求获取装置11获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新。
在此,所述获取的方式包括但不限于以下方式:
1)从用户设备获取;例如,实时地获取来自用户通过用户设备提交的多个资源更新请求。在此,所述用户设备可以是任何一种可与用户通过键盘、鼠标、遥控器、触摸板、或声控设备进行人机交互的电子产品,包括但不限于计算机、智能手机、PDA、或IPTV等。
2)从第三方设备获取;例如按照预定的周期,从第三方设备读取多个资源更新请求。
在一示例中,在社交网络社区中,处理设备1为网络服务器,首先,用户设备1监测用户U1通过人机交互在其操作界面中对用户U2的照片P1添加一条评论,以生成与该操作相对应的资源更新请求;用户设备2监测用户U2通过人机交互在其操作界面中将照片P1删除,以及添加一篇博客文章A1,以分别生成与该两个操作相对应的两个资源更新请求;随后,用户设备1和用户设备2将该三个资源更新请求分别发送至该网络服务器,例如,可将其封装为三条请求消息,如http请求消息,并通过相应的通信协议,如http、https通信协议,发送至该网络服务器,该网络服务器通过实时监控的方式接收并解析该三个请求消息,以获取来自用户设备1和用户设备2的该三个资源更新请求。
在另一示例中,请求获取装置11经由第三方设备提供的应用编程接口(API),定期地向该第三方设备发送接收多个资源更新请求的消息,并接收该第三方设备响应该消息返回的多个资源更新请求。第三方设备也可主动向处理设备1推送多个资源更新请求,而请求获取装置11接收该多个资源更新请求。
本领域技术人员应能理解上述获取资源更新请求的方式仅为举例,其他现有的或今后可能出现的获取资源更新请求的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
接着,标识获取装置12根据请求获取装置11获取的多个资源更新请求,获取与该多个资源更新请求相对应的资源标识。
在此,所述资源标识意指预先设定的该资源更新请求所对应的资源更新将可能影响到的资源的范围的标识信息。例如,用户U1的社交网络社区空间资源中包括博客、相册等资源,博客资源中有多篇博客文章、相册资源中有多张相册照片,当资源更新请求为在用户U1的博客中添加一篇博客文章,则该资源更新请求所对应的资源标识可设定为待更新的资源本身,即用户U1的博客、或可设定为一个更大的资源范围,例如用户U1的社交网络社区空间。
在此,获取所述资源标识的方式包括但不限于以下形式:
1)当资源更新请求中包括其所对应的资源标识时,标识获取装置12从该资源更新请求中直接获取;例如在对一篇博客文章添加评论的资源更新请求中,显式指定其对应的资源标识为该博客文章;
2)当资源更新请求中未包括其所对应的资源标识时,标识获取装置12按照预定标识获取规则,根据该资源更新请求,获得与该资源更新请求相对应的资源标识;例如,当资源更新请求为在相册A中添加一张照片,则标识获取装置12可将该照片的上一级资源相册A作为该资源更新请求所对应的资源标识,或可将相册A的上一级资源社交网络社区空间S作为该资源更新请求所对应的资源标识。
在一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3,其中,R1为对用户U2的相册A下的照片P1添加一条评论,R2为将用户U2相册A下的照片P1删除,R3为在用户U2的博客B中添加一篇文章A1,且该三个资源更新请求中都已包括各自所对应的资源标识,分别为U2‑A‑P1标识、U2‑A标识、U2‑B标识,标识获取装置12从该三个资源更新请求中直接提取与其相对应的该三个资源标识。
在另一示例中,在社交网络社区中,两个资源更新请求分别为R4和R5,其中,R4为对用户U1相册A下的照片P1添加一条评论、R5为在用户U2博客B中添加一篇文章A1,且该两个资源更新请求中都不包括各自所对应的资源标识;当预定标识获取规则为将待更新资源的上一级资源作为该资源更新请求所对应的资源标识,则标识获取装置12按照预定标识获取规则,获取资源更新请求R4所对应的待更新资源照片P1的上一级资源为用户U1的相册A,进而将U1‑A作为资源更新请求R4所对应的资源标识;同理,获取资源更新请求R5所对应的资源标识为U2‑B。
本领域技术人员应能理解上述获取资源标识的方式仅为举例,其他现有的或今后可能出现的获取资源标识的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
随后,并发处理装置13根据标识获取装置12获取的资源标识,对请求获取装置11获取的多个资源更新请求进行并发处理,以更新该多个资源更新请求所对应的多个待更新资源。
在此,所述并发处理的实现方式包括将各资源更新请求所对应的资源标识进行比较,资源标识不同的资源更新请求将被并行处理,而资源标识相同的资源更新请求将按照资源更新请求的提交时间的先后顺序被串行处理。其中,并行处理是指两个或者多个资源更新请求在同一时刻被处理,而并发处理是指两个或多个资源更新请求在同一时间间隔内被处理,并发处理包括并行处理的情形。
在一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3;其中,R1为添加评论至用户U1相册A下的照片P1,其所对应的资源标识为U1‑A‑P1;R2为删除用户U1博客B下的文章2,其所对应的资源标识为U1‑B‑文章2;R3为添加文章至用户U2的博客B,其所对应的资源标识为U2‑B。并发处理装置13将该三个资源标识分别进行比较,以获得该三个资源标识互不相同,则将R1、R2和R3进行并行处理,即同时进行用户U1相册A下的照片P1的新评论的添加、用户U1博客B下的文章2的删除和用户U2的博客B的新文章的添加。
在另一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3;其中,R1为更新用户U1相册A下的照片P1,其所对应的资源标识为U1‑A;R2为更新用户U1的相册A,其所对应的资源标识为U1‑A;R3为更新用户U2的博客B,其所对应的资源标识为U2‑B。并发处理装置13将该三个资源标识分别进行比较,以获得R1与R2的资源标识相同,而R3与R1、R2的资源标识不相同,则将R3与R1、R2进行并行处理,而将R1与R2进行串行处理,以更新该三个资源更新所对应的待更新资源,即在并行处理资源更新请求R3的同时,首先处理提交时间在先的资源更新请求R1,然后,再串行处理提交时间在后的资源更新请求R2。
本领域技术人员应能理解上述并发处理的方式仅为举例,其他现有的或今后可能出现的并行处理的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
优选地,请求获取装置11、标识获取装置12和并发处理装置13之间是持续不断地工作。具体地,请求获取装置11持续地获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;接着,标识获取装置12也持续地根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;随后,并发处理装置13也持续地根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。在此,本领域技术人员应理解“持续”是指各装置不断进行上述多个资源更新请求的获取、资源标识的获取及多个资源更新请求的并发处理,直至满足预定停止条件,例如请求获取装置11在较长时间内停止对多个资源更新请求的获取。
图2示出根据本发明一个优选实施例的资源更新的设备示意图。其中,并发处理装置13’包括第一关系判断单元131’和资源更新单元132’。第一关系判断单元131’根据标识获取装置12’获取的资源标识,判断请求获取装置11’获取的多个资源更新请求之间是否存在关联关系;资源更新单元132’根据所述多个资源更新请求之间是否存在关联关系,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源,其中,在该并发处理过程中,存在关联关系的资源更新请求将按照资源更新请求提交时间的先后顺序被串行处理,而不存在关联关系的资源更新请求将被并行处理。其中,并行处理是指两个或者多个资源更新请求在同一时刻被处理,而并发处理是指两个或多个资源更新请求在同一时间间隔内被处理,并发处理包括并行处理的情形。
在此,图2中所示请求获取装置11’和标识获取装置12’与前面参照图1所描述的请求获取装置11和标识获取装置12的内容相同,为简明起见,以引用方式包含于此,而不做赘述。
在此,判断所述资源更新请求之间是否存在关联关系包括将任意两个资源更新请求所对应的资源标识在资源标识库中进行匹配查询,以判断该两个资源更新请求之间是否存在关联关系;在此,所述资源标识库中包括资源标识信息及其与其他资源标识信息之间是否存在预定的关联关系。
在一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3;其中,R1所对应的资源标识为U1‑A,R2所对应的资源标识为U1‑A‑P1,R3所对应的资源标识为U2‑B。第一关系判断单元131’将任意两个资源更新请求所对应的资源标识,即U1‑A与U1‑A‑P1、U1‑A与U2‑B、U1‑A‑P1与U2‑B,分别在资源标识库中进行匹配查询,获得资源标识U1‑A与U1‑A‑P1之间存在关联关系,资源标识U2‑B与U1‑A、U1‑A‑P1之间不存在关联关系;接着,资源更新单元132’根据资源标识U1‑A与U1‑A‑P1之间存在关联关系,对R1与R2按照其提交时间的先后顺序进行串行处理,以依次更新R1与R2所对应的待更新资源,而在对R1和R2串行处理的同时,对R3进行并行处理,以更新R3所对应的待更新资源。
本领域技术人员应能理解上述判断关联关系和/或资源更新的方式仅为举例,其他现有的或今后可能出现的判断关联关系和/或资源更新的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
图3为出根据本发明另一个优选实施例的资源更新的设备示意图。其中,第一关系判断单元131”还包括节点获取单元1311”和第二关系判断单元1312”。节点获取单元1311”根据标识获取装置12”获取的资源标识,在资源树中进行匹配查询,以获得与资源标识相对应的资源节点;第二关系判断单元1312”根据节点获取单元1311”获取的资源节点,按照预定判断规则,判断多个资源更新请求之间是否存在关联关系。
在此,图3中所示请求获取装置11”、标识获取装置12”和资源更新单元132”与前面参照图2所描述的请求装置11’、标识获取装置12’和资源更新单元132’的内容相同,为简明起见,以引用方式包含于此,而不做赘述。
在此,所述资源树意指与资源更新请求相对应的资源标识所表示的资源之间的关联关系的拓扑结构,该资源树中并未存储实际的资源数据。在此,所述资源树存储于以下任一项中:关系数据库,内存存储器,硬盘存储器等。
在此,按照所述预定判断规则判断多个资源更新请求之间是否存在关联关系包括但不限于以下情形:
1)根据各资源更新请求所对应的各资源标识,分别在资源树中遍历,以获取与该各资源标识相对应的资源节点,若所获取的资源节点相同,则第二关系判断单元1312”判断该等资源更新请求之间存在关联关系;
2)根据各资源更新请求所对应的各资源标识,分别在资源树中遍历,以获取与该各资源标识相对应的资源节点,若所获取的资源节点之间具有从属关系,则第二关系判断单元1312”判断该等资源更新请求之间存在关联关系。其中,所述从属关系包括资源节点之间的父子关系、祖孙关系等。在资源树中,根节点至某资源节点的访问路径上所有资源节点与该资源节点都具有从属关系。如图4所示,例如,根节点“社交网络社区”至资源节点“照片P1”的访问路径为“社交网络社区‑>用户U1‑>相册A‑>照片P1”,则资源节点“照片P1”与资源节点“社交网络社区”、“用户U1”、“相册A”都具有从属关系。
本领域技术人员应能理解上述预定判断规则仅为举例,其他现有的或今后可能出现的预定判断规则如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
在一示例中(参照图4),在社交网络社区中,三个资源更新请求分别为R1、R2和R3。其中,R1为更新用户U1的相册A,其所对应的资源标识为U1‑A;R2为更新用户U1的相册A中的照片P2,其所对应的资源标识为U1‑A‑P2;R3为更新用户U2的博客B中的文章1,其所对应的资源标识为U2‑B‑文章1。节点获取单元1311”通过遍历该资源树,将该三个资源标识在资源树中各资源节点进行比较,以获得与R1、R2和R3相对应的资源节点为N1、N2和N3;接着,第二关系判断单元1312”根据该三个资源节点N1、N2和N3在该资源树中的位置,确定N3与N1、N2相独立,而N1与N2之间存在从属关系,即N3与N1、N2之间不存在关联关系,而N1与N2之间存在关联关系。
本领域技术人员应能理解上述获取资源节点和/或判断关联关系的方式仅为举例,其他现有的或今后可能出现的获取资源节点和/或判断关联关系的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
在又一优选实施例中(参照图1),处理设备1还包括检测装置(未示出)。以下参照图1对该又一优选实施例进行详细描述,其中,请求获取装置11获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;标识获取装置12根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;并发处理装置13根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源;其具体过程与前述参照图1所描述的实施例中请求获取装置11、标识获取装置12和并发处理装置13所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,当并发处理装置13对请求获取装置11获取的多个资源更新请求进行并发处理时,检测装置通过对该多个资源更新请求所对应的资源标识在资源树中所表示的资源节点加锁,实现该并发处理的冲突检测。其中,对资源节点加锁来进行并发处理的冲突检测可防止在并发处理多个资源更新请求时,不同的资源更新请求同时更新相同的资源,以保证资源数据的一致性,也即,在同一时刻仅有一个资源操作请求能获得某资源节点的锁,并且只有获得该锁的资源操作请求才可以被处理以更新相应的资源,而未能获得该锁的资源操作请求将排队等待拥有该锁的资源操作请求释放该锁。
在此,所述锁的机制可通过信号量来实现,所述信号量是一种记录型数据结构,其仅能通过两个标准的原子操作来访问,这两个操作被称为P、V操作,在此,P操作表示申请一个资源,即实现资源的加锁,V操作表示释放一个资源,即实现资源的解锁。其中,所述原子操作(简称“原语”)是在计算机操作执行上不可中断的操作。
其中,锁的原子操作不可能由软件单独保证‑‑必须需要硬件的支持。例如,在x86平台上,CPU提供了在指令执行期间对总线加锁的手段。CPU芯片上有一条引线#HLOCK pin,如果汇编语言的程序中在一条指令前面加上前缀″LOCK″,经过汇编以后的机器代码就使CPU在执行这条指令的时候把#HLOCK pin的电位拉低,持续到这条指令结束时放开,从而把总线锁住,这样同一总线上别的CPU就暂时不能通过总线访问内存了,保证了这条指令在多处理器环境中的原子性。
在一示例中(参照图4),在社交网络社区中,两个资源更新请求分别为R1、R2,且R1、R2在资源树中所对应的资源节点为N1、N2,其中,N1与N2之间为父子关系,当并发处理装置13对R1、R2进行并发处理时,检测装置通过该资源树的应用编程接口(API),为资源更新请求R1对资源节点N1执行P操作,以实现对资源节点N1,以及该资源节点的子树资源节点N2、N4进行加锁,此刻,资源更新请求R1可更新资源节点N1及其子树资源节点所对应的资源。由于资源更新请求R2所对应的资源节点N2已被加锁,故R2需排队等待直到检测装置为R1执行V操作,以实现对资源节点N1、N2、N4的解锁。当资源节点N2被解锁时,检测装置将为资源更新请求R2对资源节点N2执行P操作,以现实对资源节点N2进行加锁,此刻,资源更新请求R2可更新资源节点N2所对应的资源。
本领域技术人员应能理解上述冲突检测的方式仅为举例,其他现有的或今后可能出现的冲突检测的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在此,通过在资源更新请求所对应的资源节点加锁,可防止与该资源节点或该资源节点的子树资源节点所对应的其他资源更新请求与该资源更新请求被同时并行处理,即实现并发处理的冲突检测,从而在并发处理过程中保证资源数据的一致性。
在另一优选实施例中(参照图1),处理设备1还包括资源树更新装置(未示出)。资源树更新装置根据与所述多个资源更新请求相对应的资源的更新,建立或更新所述资源树。以下参照图1对该另一优选实施例进行详细描述,其中,请求获取装置11获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;标识获取装置12根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;并发处理装置13根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源;其具体过程与前述参照图1所描述的实施例中请求获取装置11、标识获取装置12和并发处理装置13所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,资源树更新装置例如通过实时监测并发处理装置13对资源更新请求的处理,以获得其所增加或删除的资源,并据此通过调用资源树的应用编程接口(API),在资源树中增加或删除该资源所对应的资源节点。若检测到该资源树未建立,则先行初始化该资源树,然后再更新该资源树中的资源节点。
在一个示例中(参照图4),在社交网络社区中,一个资源更新请求为删除用户U1的相册A下的照片P1,并发处理装置13处理该资源更新请求已将照片P1删除,资源树更新装置实时监测该资源请求处理事件,并通过调用资源树的应用编程接口(API),在资源树中删除资源节点N4。
本领域技术人员应能理解上述建立或更新资源树的方式仅为举例,其他现有的或今后可能出现的建立或更新资源树的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
在再一优选实施例中(参照图1),处理设备1还包括串行处理装置(未示出)。当标识获取装置12未获取多个资源更新请求所对应的资源标识时,串行处理装置按照该多个资源更新请求提交时间的先后顺序,对该多个资源更新请求进行串行处理,以更新多个待更新资源。以下参照图1对该再一优选实施例进行详细描述,其中,请求获取装置11获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;标识获取装置12根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;并发处理装置13根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源;其具体过程与前述参照图1所描述的实施例中请求获取装置11、标识获取装置12和并发处理装置13所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,当资源标识获取装置12未获取到资源标识时,串行处理装置按照多个资源更新请求提交时间的先后顺序,依次对该等资源更新请求进行串行处理,以更新该等资源更新请求所对应的资源。
在一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3。其中,R1为更新用户U1相册A下的照片P1,R2为更新用户U1的相册A,R3为更新用户U2的博客B,且该等资源更新请求提交时间由先至后的顺序为R2、R1、R3。当标识获取装置12未获取到该三个资源更新请求所对应的资源标识时,串行处理装置按照R1、R2、R3提交的时间的先后顺序,对其进行串行处理,即先更新用户U1的相册A,再更新用户U1相册A下的照片P1,最后更新用户U2的博客B。
本领域技术人员应能理解上述更新资源的方式仅为举例,其他现有的或今后可能出现的更新资源的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
图5示出根据本发明一个方面的资源更新的方法流程图。其中,处理设备1为网络设备,包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云,在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
如图5所示,首先,在步骤S1中,处理设备1获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新。
在此,所述获取的方式包括但不限于以下方式:
1)从用户设备获取;例如,实时地获取来自用户通过用户设备提交的多个资源更新请求。在此,所述用户设备可以是任何一种可与用户通过键盘、鼠标、遥控器、触摸板、或声控设备进行人机交互的电子产品,包括但不限于计算机、智能手机、PDA、或IPTV等。
2)从第三方设备获取;例如按照预定的周期,从第三方设备读取多个资源更新请求。
在一示例中,在社交网络社区中,处理设备1为网络服务器,首先,用户设备1监测用户U1通过人机交互在其操作界面中对用户U2的照片P1添加一条评论,以生成与该操作相对应的资源更新请求;用户设备2监测用户U2通过人机交互在其操作界面中将照片P1删除,以及添加一篇博客文章A1,以分别生成与该两个操作相对应的两个资源更新请求;随后,用户设备1和用户设备2将该三个资源更新请求分别发送至该网络服务器,例如,可将其封装为三条请求消息,如http请求消息,并通过相应的通信协议,如http、https通信协议,发送至该网络服务器,该网络服务器通过实时监控的方式接收并解析该三个请求消息,以获取来自用户设备1和用户设备2的该三个资源更新请求。
在另一示例中,在步骤S1中,处理设备1经由第三方设备提供的应用编程接口(API),定期地向该第三方设备发送接收多个资源更新请求的消息,并接收该第三方设备响应该消息返回的多个资源更新请求。第三方设备也可主动向处理设备1推送多个资源更新请求,而处理设备1在步骤S1中接收该多个资源更新请求。
本领域技术人员应能理解上述获取资源更新请求的方式仅为举例,其他现有的或今后可能出现的获取资源更新请求的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
接着,在步骤S2中,处理设备1根据其在步骤S1中获取的多个资源更新请求,获取与该多个资源更新请求相对应的资源标识。
在此,所述资源标识意指预先设定的该资源更新请求所对应的资源更新将可能影响到的资源的范围的标识信息。例如,用户U1的社交网络社区空间资源中包括博客、相册等资源,博客资源中有多篇博客文章、相册资源中有多张相册照片,当资源更新请求为在用户U1的博客中添加一篇博客文章,则该资源更新请求所对应的资源标识可设定为待更新的资源本身,即用户U1的博客、或可设定为一个更大的资源范围,例如用户U1的社交网络社区空间。
在此,获取所述资源标识的方式包括但不限于以下形式:
1)当资源更新请求中包括其所对应的资源标识时,在步骤S2中,处理设备1从该资源更新请求中直接获取;例如在对一篇博客文章添加评论的资源更新请求中,显式指定其对应的资源标识为该博客文章;
2)当资源更新请求中未包括其所对应的资源标识时,在步骤S2中,处理设备1按照预定标识获取规则,根据该资源更新请求,获得与该资源更新请求相对应的资源标识;例如,当资源更新请求为在相册A中添加一张照片,则处理设备1在步骤S2中可将该照片的上一级资源相册A作为该资源更新请求所对应的资源标识,或可将相册A的上一级资源社交网络社区空间S作为该资源更新请求所对应的资源标识。
在一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3,其中,R1为对用户U2的相册A下的照片P1添加一条评论,R2为将用户U2相册A下的照片P1删除,R3为在用户U2的博客B中添加一篇文章A1,且该三个资源更新请求中都已包括各自所对应的资源标识,分别为U2‑A‑P1标识、U2‑A标识、U2‑B标识,在步骤S2中,处理设备1从该三个资源更新请求中直接提取与其相对应的该三个资源标识。
在另一示例中,在社交网络社区中,两个资源更新请求分别为R4和R5,其中,R4为对用户U1相册A下的照片P1添加一条评论、R5为在用户U2博客B中添加一篇文章A1,且该两个资源更新请求中都不包括各自所对应的资源标识;当预定标识获取规则为将待更新资源的上一级资源作为该资源更新请求所对应的资源标识,则在步骤S2中,处理设备1按照预定标识获取规则,获取资源更新请求R4所对应的待更新资源照片P1的上一级资源为用户U1的相册A,进而将U1‑A作为资源更新请求R4所对应的资源标识;同理,获取资源更新请求R5所对应的资源标识为U2‑B。
本领域技术人员应能理解上述获取资源标识的方式仅为举例,其他现有的或今后可能出现的获取资源标识的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
随后,在步骤S3中,处理设备1根据其在步骤S2中获取的资源标识,对处理设备1在步骤S1中获取的多个资源更新请求进行并发处理,以更新该多个资源更新请求所对应的多个待更新资源。
在此,所述并发处理的实现方式包括将各资源更新请求所对应的资源标识进行比较,资源标识不同的资源更新请求将被并行处理,而资源标识相同的资源更新请求将按照资源更新请求的提交时间的先后顺序被串行处理。其中,并行处理是指两个或者多个资源更新请求在同一时刻被处理,而并发处理是指两个或多个资源更新请求在同一时间间隔内被处理,并发处理包括并行处理的情形。
在一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3;其中,R1为添加评论至用户U1相册A下的照片P1,其所对应的资源标识为U1‑A‑P1;R2为删除用户U1博客B下的文章2,其所对应的资源标识为U1‑B‑文章2;R3为添加文章至用户U2的博客B,其所对应的资源标识为U2‑B。在步骤S3中,处理设备1将该三个资源标识分别进行比较,以获得该三个资源标识互不相同,则将R1、R2和R3进行并行处理,即同时进行用户U1相册A下的照片P1的新评论的添加、用户U1博客B下的文章2的删除和用户U2的博客B的新文章的添加。
在另一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3;其中,R1为更新用户U1相册A下的照片P1,其所对应的资源标识为U1‑A;R2为更新用户U1的相册A,其所对应的资源标识为U1‑A;R3为更新用户U2的博客B,其所对应的资源标识为U2‑B。在步骤S3中,处理设备1将该三个资源标识分别进行比较,以获得R1与R2的资源标识相同,而R3与R1、R2的资源标识不相同,则将R3与R1、R2进行并行处理,而将R1与R2进行串行处理,以更新该三个资源更新所对应的待更新资源,即在并行处理资源更新请求R3的同时,首先处理提交时间在先的资源更新请求R1,然后,再串行处理提交时间在后的资源更新请求R2。
本领域技术人员应能理解上述并发处理的方式仅为举例,其他现有的或今后可能出现的并行处理的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
优选地,处理设备1在步骤S1、步骤S2和步骤S3中是持续不断地工作。具体地,在步骤S1中,处理设备1持续地获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;接着,在步骤S2中,处理设备1也持续地根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;随后,在步骤S3中,处理设备1也持续地根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。在此,本领域技术人员应理解“持续”是指处理设备1在各步骤中不断进行上述多个资源更新请求的获取、资源标识的获取及多个资源更新请求的并发处理,直至满足预定停止条件,例如处理设备1在较长时间内停止对多个资源更新请求的获取。
图6示出根据本发明一个优选实施例的资源更新的设备示意图。在步骤S31’中,处理设备1根据其在步骤S2’中获取的资源标识,判断其在步骤S1’中获取的多个资源更新请求之间是否存在关联关系;在步骤S32’中,处理设备1根据所述多个资源更新请求之间是否存在关联关系,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源,其中,在该并发处理过程中,存在关联关系的资源更新请求将按照资源更新请求提交时间的先后顺序被串行处理,而不存在关联关系的资源更新请求将被并行处理。其中,并行处理是指两个或者多个资源更新请求在同一时刻被处理,而并发处理是指两个或多个资源更新请求在同一时间间隔内被处理,并发处理包括并行处理的情形。
在此,图6中所示处理设备1在步骤S1’和在步骤S2’中与前面参照图1所描述的处理设备1在步骤S1和在步骤S2中的内容相同,为简明起见,以引用方式包含于此,而不做赘述。
在此,判断所述资源更新请求之间是否存在关联关系包括将任意两个资源更新请求所对应的资源标识在资源标识库中进行匹配查询,以判断该两个资源更新请求之间是否存在关联关系;在此,所述资源标识库中包括资源标识信息及其与其他资源标识信息之间是否存在预定的关联关系。
在一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3;其中,R1所对应的资源标识为U1‑A,R2所对应的资源标识为U1‑A‑P1,R3所对应的资源标识为U2‑B。在步骤S31’中,处理设备1将任意两个资源更新请求所对应的资源标识,即U1‑A与U1‑A‑P1、U1‑A与U2‑B、U1‑A‑P1与U2‑B,分别在资源标识库中进行匹配查询,获得资源标识U1‑A与U1‑A‑P1之间存在关联关系,资源标识U2‑B与U1‑A、U1‑A‑P1之间不存在关联关系;接着,在步骤S32’中,处理设备1根据资源标识U1‑A与U1‑A‑P1之间存在关联关系,对R1与R2按照其提交时间的先后顺序进行串行处理,以依次更新R1与R2所对应的待更新资源,而在对R1和R2串行处理的同时,对R3进行并行处理,以更新R3所对应的待更新资源。
本领域技术人员应能理解上述判断关联关系和/或资源更新的方式仅为举例,其他现有的或今后可能出现的判断关联关系和/或资源更新的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
图7为出根据本发明另一个优选实施例的资源更新的方法流程图。在步骤S311”中,处理设备1根据其在步骤S2”中获取的资源标识,在资源树中进行匹配查询,以获得与资源标识相对应的资源节点;在步骤S312”中,处理设备1根据其在步骤S311”中获取的资源节点,按照预定判断规则,判断多个资源更新请求之间是否存在关联关系。
在此,图7中所示处理设备1在步骤S1”、步骤S2”和步骤S32”中与前面参照图6所描述的处理设备1在步骤S1’、步骤S2’和步骤S32’中的内容相同,为简明起见,以引用方式包含于此,而不做赘述。
在此,所述资源树意指与资源更新请求相对应的资源标识所表示的资源之间的关联关系的拓扑结构,该资源树中并未存储实际的资源数据。在此,所述资源树存储于以下任一项中:关系数据库,内存存储器,硬盘存储器等。
在此,按照所述预定判断规则判断多个资源更新请求之间是否存在关联关系包括但不限于以下情形:
1)根据各资源更新请求所对应的各资源标识,分别在资源树中遍历,以获取与该各资源标识相对应的资源节点,若所获取的资源节点相同,则在步骤S312”中,处理设备1判断该等资源更新请求之间存在关联关系;
2)根据各资源更新请求所对应的各资源标识,分别在资源树中遍历,以获取与该各资源标识相对应的资源节点,若所获取的资源节点之间具有从属关系,则在步骤S312”中,处理设备1判断该等资源更新请求之间存在关联关系。其中,所述从属关系包括资源节点之间的父子关系、祖孙关系等。在资源树中,根节点至某资源节点的访问路径上所有资源节点与该资源节点都具有从属关系。如图4所示,例如,根节点“社交网络社区”至资源节点“照片P1”的访问路径为“社交网络社区‑>用户U1‑>相册A‑>照片P1”,则资源节点“照片P1”与资源节点“社交网络社区”、“用户U1”、“相册A”都具有从属关系。
本领域技术人员应能理解上述预定判断规则仅为举例,其他现有的或今后可能出现的预定判断规则如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
在一示例中(参照图4),在社交网络社区中,三个资源更新请求分别为R1、R2和R3。其中,R1为更新用户U1的相册A,其所对应的资源标识为U1‑A;R2为更新用户U1的相册A中的照片P2,其所对应的资源标识为U1‑A‑P2;R3为更新用户U2的博客B中的文章1,其所对应的资源标识为U2‑B‑文章1。在步骤S311”中,处理设备1通过遍历该资源树,将该三个资源标识在资源树中各资源节点进行比较,以获得与R1、R2和R3相对应的资源节点为N1、N2和N3;接着,在步骤S312”中,处理设备1根据该三个资源节点N1、N2和N3在该资源树中的位置,确定N3与N1、N2相独立,而N1与N2之间存在从属关系,即N3与N1、N2之间不存在关联关系,而N1与N2之间存在关联关系。
本领域技术人员应能理解上述获取资源节点和/或判断关联关系的方式仅为举例,其他现有的或今后可能出现的获取资源节点和/或判断关联关系的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
在又一优选实施例中(参照图5),该过程还包括步骤S4。以下参照图5对该又一优选实施例进行详细描述,其中,在步骤S1中,处理设备1获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;在步骤S2中,处理设备1根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;在步骤S3中,处理设备1根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源;其具体过程与前述参照图5所描述的实施例中处理设备1在步骤S1、步骤S2和步骤S3中所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,当处理设备1在步骤S3中对其在步骤S1中获取的多个资源更新请求进行并发处理时,在步骤S4中,处理设备1通过对该多个资源更新请求所对应的资源标识在资源树中所表示的资源节点加锁,实现该并发处理的冲突检测。其中,对资源节点加锁来进行并发处理的冲突检测可防止在并发处理多个资源更新请求时,不同的资源更新请求同时更新相同的资源,以保证资源数据的一致性,也即,在同一时刻仅有一个资源操作请求能获得某资源节点的锁,并且只有获得该锁的资源操作请求才可以被处理以更新相应的资源,而未能获得该锁的资源操作请求将排队等待拥有该锁的资源操作请求释放该锁。
在此,所述锁的机制可通过信号量来实现,所述信号量是一种记录型数据结构,其仅能通过两个标准的原子操作来访问,这两个操作被称为P、V操作,在此,P操作表示申请一个资源,即实现资源的加锁,V操作表示释放一个资源,即实现资源的解锁。其中,所述原子操作(简称“原语”)是在计算机操作执行上不可中断的操作。
其中,锁的原子操作不可能由软件单独保证‑‑必须需要硬件的支持。例如,在x86平台上,CPU提供了在指令执行期间对总线加锁的手段。CPU芯片上有一条引线#HLOCK pin,如果汇编语言的程序中在一条指令前面加上前缀″LOCK″,经过汇编以后的机器代码就使CPU在执行这条指令的时候把#HLOCK pin的电位拉低,持续到这条指令结束时放开,从而把总线锁住,这样同一总线上别的CPU就暂时不能通过总线访问内存了,保证了这条指令在多处理器环境中的原子性。
在一示例中(参照图4),在社交网络社区中,两个资源更新请求分别为R1、R2,且R1、R2在资源树中所对应的资源节点为N1、N2,其中,N1与N2之间为父子关系,当处理设备1在步骤S3中对R1、R2进行并发处理时,在步骤S4中,处理设备1通过该资源树的应用编程接口(API),为资源更新请求R1对资源节点N1执行P操作,以实现对资源节点N1,以及该资源节点的子树资源节点N2、N4进行加锁,此刻,资源更新请求R1可更新资源节点N1及其子树资源节点所对应的资源。由于资源更新请求R2所对应的资源节点N2已被加锁,故R2需排队等待直到在步骤S4中处理设备1为R1执行V操作,以实现对资源节点N1、N2、N4的解锁。当资源节点N2被解锁时,处理设备1在步骤S4中将为资源更新请求R2对资源节点N2执行P操作,以现实对资源节点N2进行加锁,此刻,资源更新请求R2可更新资源节点N2所对应的资源。
本领域技术人员应能理解上述冲突检测的方式仅为举例,其他现有的或今后可能出现的冲突检测的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在此,通过在资源更新请求所对应的资源节点加锁,可防止与该资源节点或该资源节点的子树资源节点所对应的其他资源更新请求与该资源更新请求被同时并行处理,即实现并发处理的冲突检测,从而在并发处理过程中保证资源数据的一致性。
在另一优选实施例中(参照图5),该过程还包括步骤S5。在步骤S5中,处理设备1根据与所述多个资源更新请求相对应的资源的更新,建立或更新所述资源树。以下参照图5对该另一优选实施例进行详细描述,其中,在步骤S1中,处理设备1获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;在步骤S2中,处理设备1根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;在步骤S3中,处理设备1根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源;其具体过程与前述参照图5所描述的实施例中处理设备1在步骤S1、步骤S2和步骤S3中所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,在步骤S5中,处理设备1例如通过实时监测其在步骤S3中对资源更新请求的处理,以获得其所增加或删除的资源,并据此通过调用资源树的应用编程接口(API),在资源树中增加或删除该资源所对应的资源节点。若检测到该资源树未建立,则先行初始化该资源树,然后再更新该资源树中的资源节点。
在一个示例中(参照图4),在社交网络社区中,一个资源更新请求为删除用户U1的相册A下的照片P1,处理设备1在步骤S3中处理该资源更新请求以将照片P1删除,在步骤S5中,处理设备1实时监测该资源请求处理事件,并通过调用资源树的应用编程接口(API),在资源树中删除资源节点N4。
本领域技术人员应能理解上述建立或更新资源树的方式仅为举例,其他现有的或今后可能出现的建立或更新资源树的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
在再一优选实施例中(参照图5),该过程还包括步骤S6。当处理设备1在步骤S2中未获取多个资源更新请求所对应的资源标识时,在步骤S6中,处理设备1按照该多个资源更新请求提交时间的先后顺序,对该多个资源更新请求进行串行处理,以更新多个待更新资源。以下参照图5对该再一优选实施例进行详细描述,其中,在步骤S1中,处理设备1获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;在步骤S2中,处理设备1根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;在步骤S3中,处理设备1根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源;其具体过程与前述参照图5所描述的实施例中处理设备1在步骤S1、步骤S2和步骤S3中所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,当处理设备1在步骤S2中未获取到资源标识时,在步骤S6中,处理设备1按照多个资源更新请求提交时间的先后顺序,依次对该等资源更新请求进行串行处理,以更新该等资源更新请求所对应的资源。
在一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3。其中,R1为更新用户U1相册A下的照片P1,R2为更新用户U1的相册A,R3为更新用户U2的博客B,且该等资源更新请求提交时间由先至后的顺序为R2、R1、R3。当处理设备1在步骤S2中未获取到该三个资源更新请求所对应的资源标识时,在步骤S6中,处理设备1按照R1、R2、R3提交的时间的先后顺序,对其进行串行处理,即先更新用户U1的相册A,再更新用户U1相册A下的照片P1,最后更新用户U2的博客B。
本领域技术人员应能理解上述更新资源的方式仅为举例,其他现有的或今后可能出现的更新资源的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

一种并发的资源更新方法与设备.pdf_第1页
第1页 / 共23页
一种并发的资源更新方法与设备.pdf_第2页
第2页 / 共23页
一种并发的资源更新方法与设备.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《一种并发的资源更新方法与设备.pdf》由会员分享,可在线阅读,更多相关《一种并发的资源更新方法与设备.pdf(23页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103077174 A(43)申请公布日 2013.05.01CN103077174A*CN103077174A*(21)申请号 201110329944.X(22)申请日 2011.10.26G06F 17/30(2006.01)(71)申请人百度在线网络技术(北京)有限公司地址 100085 北京市海淀区上地十街10号百度大厦(72)发明人王耀 叶青(74)专利代理机构北京汉昊知识产权代理事务所(普通合伙) 11370代理人罗朋(54) 发明名称一种并发的资源更新方法与设备(57) 摘要本发明的目的是提供一种并发的资源更新方法与设备。其中,该方法首先获取多个资源更。

2、新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;接着,根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;随后,根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。与现有技术相比,本发明在保证数据的一致性的前提下,实现对各资源更新请求进行并发处理,以提高资源更新请求的处理效率,进而提高对来自用户的资源更新请求的响应速度,提升用户使用体验。(51)Int.Cl.权利要求书2页 说明书14页 附图6页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书14页 附图6页(10)申请公布号 CN 103077174 A。

3、CN 103077174 A1/2页21.一种计算机实现的资源更新方法,其中,该方法包括以下步骤:a获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;b根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;c根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。2.根据权利要求1所述的方法,其中,所述步骤c还包括:c1根据所述资源标识,判断所述多个资源更新请求之间是否存在关联关系;c2根据所述多个资源更新请求之间是否存在关联关系,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。3.根据权利要求2所述的方法,其中,所。

4、述步骤C1还包括:c11根据所述资源标识,在资源树中进行匹配查询,以获得与所述资源标识相对应的资源节点;c12根据所述资源节点,按照预定判断规则,判断所述多个资源更新请求之间是否存在关联关系。4.根据权利要求3所述的方法,其中,所述预定判断规则包括以下至少任一项:-所述资源节点相同,则可判断所述多个资源更新请求之间存在关联关系;-所述资源节点之间具有从属关系,则可判断所述多个资源更新请求之间存在关联关系。5.根据权利要求3或4所述的方法,其中,该方法还包括:-当对所述多个资源更新请求进行并发处理,通过对所述多个资源更新请求所对应的资源节点加锁,实现所述并发处理的冲突检测。6.根据权利要求3至5。

5、中任一项所述的方法,其中,该方法还包括:-根据所述多个待更新资源的更新,建立或更新所述资源树信息。7.根据权利要求1至6中任一项所述的方法,其中,该方法包括:-当未获取所述资源标识,按照所述多个资源更新请求提交的先后顺序,对所述多个资源更新请求进行串行处理,以更新所述多个待更新资源。8.一种资源更新设备,其中,该设备包括:请求获取装置,用于获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;标识获取装置,用于根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;并发处理装置,用于根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。

6、。9.根据权利要求8所述的设备,其中,所述并发处理装置还包括:第一关系判断单元,用于根据所述资源标识,判断所述多个资源更新请求之间是否存在关联关系;资源更新单元,用于根据所述多个资源更新请求之间是否存在关联关系,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。权 利 要 求 书CN 103077174 A2/2页310.根据权利要求9所述的设备,其中,所述第一关系判断单元还包括:节点获取单元,用于根据所述资源标识,在资源树中进行匹配查询,以获得与所述资源标识相对应的资源节点;第二关系判断单元,用于根据所述资源节点,按照预定判断规则,判断所述多个资源更新请求之间是否存在关联关系。1。

7、1.根据权利要求10所述的设备,其中,所述预定判断规则包括以下至少任一项:-所述资源节点相同,则可判断所述多个资源更新请求之间存在关联关系;-所述资源节点之间具有从属关系,则可判断所述多个资源更新请求之间存在关联关系。12.根据权利要求10或11所述的设备,其中,该设备还包括:检测装置,用于当对所述多个资源更新请求进行并发处理,通过对所述多个资源更新请求所对应的资源节点加锁,实现所述并发处理的冲突检测。13.根据权利要求10至12中任一项所述的设备,其中,该设备还包括:资源树更新装置,用于根据所述多个待更新资源的更新,建立或更新所述资源树信息。14.根据权利要求8至13中任一项所述的设备,其中。

8、,该设备包括:串行处理装置,用于当未获取所述资源标识,按照所述多个资源更新请求提交的先后顺序,对所述多个资源更新请求进行串行处理,以更新所述多个待更新资源。权 利 要 求 书CN 103077174 A1/14页4一种并发的资源更新方法与设备技术领域0001 本发明涉及计算机技术领域,尤其涉及一种资源更新的技术。背景技术0002 随着互联网技术的快速发展,网络服务器所需处理的数据信息量也越来越大。现有技术例如在社交网络社区中,为保证数据的一致性,通常对各资源更新请求进行串行处理,从而按照该各资源更新请求的提交时间的先后顺序依次更新其所对应的资源,若此,资源更新请求的处理效率低下,从而影响对来自。

9、用户的资源更新请求的响应速度,降低用户使用体验。0003 因此,如何有效地实现资源更新,成为目前亟待解决的问题之一。发明内容0004 本发明的目的是提供一种计算机实现的资源更新的方法与设备。0005 根据本发明的一个方面,提供一种计算机实现的资源更新的方法,其中,该方法包括以下步骤:0006 a获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;0007 b根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;0008 c根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。0009 根据本发明的另一个方面,还提供了一种资源更新的。

10、设备,其中,该设备包括:0010 请求获取装置,用于获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;0011 标识获取装置,用于根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;0012 并发处理装置,用于根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源。0013 与现有技术相比,本发明在保证数据的一致性的前提下,实现对各资源更新请求进行并发处理,以提高资源更新请求的处理效率,进而提高对来自用户的资源更新请求的响应速度,提升用户使用体验。附图说明0014 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明。

11、的其它特征、目的和优点将会变得更明显:0015 图1示出根据本发明一个方面的资源更新的设备示意图;0016 图2示出根据本发明一个优选实施例的资源更新的设备示意图;说 明 书CN 103077174 A2/14页50017 图3为出根据本发明另一个优选实施例的资源更新的设备示意图流程图;0018 图4示出根据本发明的在资源树中获取资源节点的示例图;0019 图5示出根据本发明另一个方面的资源更新的方法流程图;0020 图6示出根据本发明一个优选实施例的资源更新的方法流程图;0021 图7示出根据本发明另一个优选实施例的资源更新的方法流程图。0022 附图中相同或相似的附图标记代表相同或相似的部。

12、件。具体实施方式0023 下面结合附图对本发明作进一步详细描述。0024 图1示出根据本发明一个方面的资源更新的设备示意图。处理设备1包括请求获取装置11、标识获取装置12和并发处理装置13。在此,处理设备1为网络设备,包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云,在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。0025 如图1所示,首先,请求获取装置11获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新。0026 。

13、在此,所述获取的方式包括但不限于以下方式:0027 1)从用户设备获取;例如,实时地获取来自用户通过用户设备提交的多个资源更新请求。在此,所述用户设备可以是任何一种可与用户通过键盘、鼠标、遥控器、触摸板、或声控设备进行人机交互的电子产品,包括但不限于计算机、智能手机、PDA、或IPTV等。0028 2)从第三方设备获取;例如按照预定的周期,从第三方设备读取多个资源更新请求。0029 在一示例中,在社交网络社区中,处理设备1为网络服务器,首先,用户设备1监测用户U1通过人机交互在其操作界面中对用户U2的照片P1添加一条评论,以生成与该操作相对应的资源更新请求;用户设备2监测用户U2通过人机交互在。

14、其操作界面中将照片P1删除,以及添加一篇博客文章A1,以分别生成与该两个操作相对应的两个资源更新请求;随后,用户设备1和用户设备2将该三个资源更新请求分别发送至该网络服务器,例如,可将其封装为三条请求消息,如http请求消息,并通过相应的通信协议,如http、https通信协议,发送至该网络服务器,该网络服务器通过实时监控的方式接收并解析该三个请求消息,以获取来自用户设备1和用户设备2的该三个资源更新请求。0030 在另一示例中,请求获取装置11经由第三方设备提供的应用编程接口(API),定期地向该第三方设备发送接收多个资源更新请求的消息,并接收该第三方设备响应该消息返回的多个资源更新请求。第。

15、三方设备也可主动向处理设备1推送多个资源更新请求,而请求获取装置11接收该多个资源更新请求。0031 本领域技术人员应能理解上述获取资源更新请求的方式仅为举例,其他现有的或今后可能出现的获取资源更新请求的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。0032 接着,标识获取装置12根据请求获取装置11获取的多个资源更新请求,获取与该多个资源更新请求相对应的资源标识。说 明 书CN 103077174 A3/14页60033 在此,所述资源标识意指预先设定的该资源更新请求所对应的资源更新将可能影响到的资源的范围的标识信息。例如,用户U1的社交网络社区空间资源中包括博客。

16、、相册等资源,博客资源中有多篇博客文章、相册资源中有多张相册照片,当资源更新请求为在用户U1的博客中添加一篇博客文章,则该资源更新请求所对应的资源标识可设定为待更新的资源本身,即用户U1的博客、或可设定为一个更大的资源范围,例如用户U1的社交网络社区空间。0034 在此,获取所述资源标识的方式包括但不限于以下形式:0035 1)当资源更新请求中包括其所对应的资源标识时,标识获取装置12从该资源更新请求中直接获取;例如在对一篇博客文章添加评论的资源更新请求中,显式指定其对应的资源标识为该博客文章;0036 2)当资源更新请求中未包括其所对应的资源标识时,标识获取装置12按照预定标识获取规则,根据。

17、该资源更新请求,获得与该资源更新请求相对应的资源标识;例如,当资源更新请求为在相册A中添加一张照片,则标识获取装置12可将该照片的上一级资源相册A作为该资源更新请求所对应的资源标识,或可将相册A的上一级资源社交网络社区空间S作为该资源更新请求所对应的资源标识。0037 在一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3,其中,R1为对用户U2的相册A下的照片P1添加一条评论,R2为将用户U2相册A下的照片P1删除,R3为在用户U2的博客B中添加一篇文章A1,且该三个资源更新请求中都已包括各自所对应的资源标识,分别为U2-A-P1标识、U2-A标识、U2-B标识,标识获取装置1。

18、2从该三个资源更新请求中直接提取与其相对应的该三个资源标识。0038 在另一示例中,在社交网络社区中,两个资源更新请求分别为R4和R5,其中,R4为对用户U1相册A下的照片P1添加一条评论、R5为在用户U2博客B中添加一篇文章A1,且该两个资源更新请求中都不包括各自所对应的资源标识;当预定标识获取规则为将待更新资源的上一级资源作为该资源更新请求所对应的资源标识,则标识获取装置12按照预定标识获取规则,获取资源更新请求R4所对应的待更新资源照片P1的上一级资源为用户U1的相册A,进而将U1-A作为资源更新请求R4所对应的资源标识;同理,获取资源更新请求R5所对应的资源标识为U2-B。0039 本。

19、领域技术人员应能理解上述获取资源标识的方式仅为举例,其他现有的或今后可能出现的获取资源标识的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。0040 随后,并发处理装置13根据标识获取装置12获取的资源标识,对请求获取装置11获取的多个资源更新请求进行并发处理,以更新该多个资源更新请求所对应的多个待更新资源。0041 在此,所述并发处理的实现方式包括将各资源更新请求所对应的资源标识进行比较,资源标识不同的资源更新请求将被并行处理,而资源标识相同的资源更新请求将按照资源更新请求的提交时间的先后顺序被串行处理。其中,并行处理是指两个或者多个资源更新请求在同一时刻被处理,而。

20、并发处理是指两个或多个资源更新请求在同一时间间隔内被处理,并发处理包括并行处理的情形。0042 在一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3;其中,R1说 明 书CN 103077174 A4/14页7为添加评论至用户U1相册A下的照片P1,其所对应的资源标识为U1-A-P1;R2为删除用户U1博客B下的文章2,其所对应的资源标识为U1-B-文章2;R3为添加文章至用户U2的博客B,其所对应的资源标识为U2-B。并发处理装置13将该三个资源标识分别进行比较,以获得该三个资源标识互不相同,则将R1、R2和R3进行并行处理,即同时进行用户U1相册A下的照片P1的新评论的添加。

21、、用户U1博客B下的文章2的删除和用户U2的博客B的新文章的添加。0043 在另一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3;其中,R1为更新用户U1相册A下的照片P1,其所对应的资源标识为U1-A;R2为更新用户U1的相册A,其所对应的资源标识为U1-A;R3为更新用户U2的博客B,其所对应的资源标识为U2-B。并发处理装置13将该三个资源标识分别进行比较,以获得R1与R2的资源标识相同,而R3与R1、R2的资源标识不相同,则将R3与R1、R2进行并行处理,而将R1与R2进行串行处理,以更新该三个资源更新所对应的待更新资源,即在并行处理资源更新请求R3的同时,首先处理提。

22、交时间在先的资源更新请求R1,然后,再串行处理提交时间在后的资源更新请求R2。0044 本领域技术人员应能理解上述并发处理的方式仅为举例,其他现有的或今后可能出现的并行处理的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。0045 优选地,请求获取装置11、标识获取装置12和并发处理装置13之间是持续不断地工作。具体地,请求获取装置11持续地获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;接着,标识获取装置12也持续地根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;随后,并发处理装置13也持续地根据所述资源标识,对所述多。

23、个资源更新请求进行并发处理,以更新所述多个待更新资源。在此,本领域技术人员应理解“持续”是指各装置不断进行上述多个资源更新请求的获取、资源标识的获取及多个资源更新请求的并发处理,直至满足预定停止条件,例如请求获取装置11在较长时间内停止对多个资源更新请求的获取。0046 图2示出根据本发明一个优选实施例的资源更新的设备示意图。其中,并发处理装置13包括第一关系判断单元131和资源更新单元132。第一关系判断单元131根据标识获取装置12获取的资源标识,判断请求获取装置11获取的多个资源更新请求之间是否存在关联关系;资源更新单元132根据所述多个资源更新请求之间是否存在关联关系,对所述多个资源更。

24、新请求进行并发处理,以更新所述多个待更新资源,其中,在该并发处理过程中,存在关联关系的资源更新请求将按照资源更新请求提交时间的先后顺序被串行处理,而不存在关联关系的资源更新请求将被并行处理。其中,并行处理是指两个或者多个资源更新请求在同一时刻被处理,而并发处理是指两个或多个资源更新请求在同一时间间隔内被处理,并发处理包括并行处理的情形。0047 在此,图2中所示请求获取装置11和标识获取装置12与前面参照图1所描述的请求获取装置11和标识获取装置12的内容相同,为简明起见,以引用方式包含于此,而不做赘述。0048 在此,判断所述资源更新请求之间是否存在关联关系包括将任意两个资源更新请求所对应的。

25、资源标识在资源标识库中进行匹配查询,以判断该两个资源更新请求之间是否说 明 书CN 103077174 A5/14页8存在关联关系;在此,所述资源标识库中包括资源标识信息及其与其他资源标识信息之间是否存在预定的关联关系。0049 在一示例中,在社交网络社区中,三个资源更新请求分别为R1、R2和R3;其中,R1所对应的资源标识为U1-A,R2所对应的资源标识为U1-A-P1,R3所对应的资源标识为U2-B。第一关系判断单元131将任意两个资源更新请求所对应的资源标识,即U1-A与U1-A-P1、U1-A与U2-B、U1-A-P1与U2-B,分别在资源标识库中进行匹配查询,获得资源标识U1-A与U。

26、1-A-P1之间存在关联关系,资源标识U2-B与U1-A、U1-A-P1之间不存在关联关系;接着,资源更新单元132根据资源标识U1-A与U1-A-P1之间存在关联关系,对R1与R2按照其提交时间的先后顺序进行串行处理,以依次更新R1与R2所对应的待更新资源,而在对R1和R2串行处理的同时,对R3进行并行处理,以更新R3所对应的待更新资源。0050 本领域技术人员应能理解上述判断关联关系和/或资源更新的方式仅为举例,其他现有的或今后可能出现的判断关联关系和/或资源更新的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。0051 图3为出根据本发明另一个优选实施例的资源更。

27、新的设备示意图。其中,第一关系判断单元131”还包括节点获取单元1311”和第二关系判断单元1312”。节点获取单元1311”根据标识获取装置12”获取的资源标识,在资源树中进行匹配查询,以获得与资源标识相对应的资源节点;第二关系判断单元1312”根据节点获取单元1311”获取的资源节点,按照预定判断规则,判断多个资源更新请求之间是否存在关联关系。0052 在此,图3中所示请求获取装置11”、标识获取装置12”和资源更新单元132”与前面参照图2所描述的请求装置11、标识获取装置12和资源更新单元132的内容相同,为简明起见,以引用方式包含于此,而不做赘述。0053 在此,所述资源树意指与资源。

28、更新请求相对应的资源标识所表示的资源之间的关联关系的拓扑结构,该资源树中并未存储实际的资源数据。在此,所述资源树存储于以下任一项中:关系数据库,内存存储器,硬盘存储器等。0054 在此,按照所述预定判断规则判断多个资源更新请求之间是否存在关联关系包括但不限于以下情形:0055 1)根据各资源更新请求所对应的各资源标识,分别在资源树中遍历,以获取与该各资源标识相对应的资源节点,若所获取的资源节点相同,则第二关系判断单元1312”判断该等资源更新请求之间存在关联关系;0056 2)根据各资源更新请求所对应的各资源标识,分别在资源树中遍历,以获取与该各资源标识相对应的资源节点,若所获取的资源节点之间。

29、具有从属关系,则第二关系判断单元1312”判断该等资源更新请求之间存在关联关系。其中,所述从属关系包括资源节点之间的父子关系、祖孙关系等。在资源树中,根节点至某资源节点的访问路径上所有资源节点与该资源节点都具有从属关系。如图4所示,例如,根节点“社交网络社区”至资源节点“照片P1”的访问路径为“社交网络社区-用户U1-相册A-照片P1”,则资源节点“照片P1”与资源节点“社交网络社区”、“用户U1”、“相册A”都具有从属关系。0057 本领域技术人员应能理解上述预定判断规则仅为举例,其他现有的或今后可能出现的预定判断规则如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。说 。

30、明 书CN 103077174 A6/14页90058 在一示例中(参照图4),在社交网络社区中,三个资源更新请求分别为R1、R2和R3。其中,R1为更新用户U1的相册A,其所对应的资源标识为U1-A;R2为更新用户U1的相册A中的照片P2,其所对应的资源标识为U1-A-P2;R3为更新用户U2的博客B中的文章1,其所对应的资源标识为U2-B-文章1。节点获取单元1311”通过遍历该资源树,将该三个资源标识在资源树中各资源节点进行比较,以获得与R1、R2和R3相对应的资源节点为N1、N2和N3;接着,第二关系判断单元1312”根据该三个资源节点N1、N2和N3在该资源树中的位置,确定N3与N1。

31、、N2相独立,而N1与N2之间存在从属关系,即N3与N1、N2之间不存在关联关系,而N1与N2之间存在关联关系。0059 本领域技术人员应能理解上述获取资源节点和/或判断关联关系的方式仅为举例,其他现有的或今后可能出现的获取资源节点和/或判断关联关系的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。0060 在又一优选实施例中(参照图1),处理设备1还包括检测装置(未示出)。以下参照图1对该又一优选实施例进行详细描述,其中,请求获取装置11获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;标识获取装置12根据所述多个资源更新请求,获取与该多个。

32、资源更新请求相对应的资源标识;并发处理装置13根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源;其具体过程与前述参照图1所描述的实施例中请求获取装置11、标识获取装置12和并发处理装置13所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。0061 具体地,当并发处理装置13对请求获取装置11获取的多个资源更新请求进行并发处理时,检测装置通过对该多个资源更新请求所对应的资源标识在资源树中所表示的资源节点加锁,实现该并发处理的冲突检测。其中,对资源节点加锁来进行并发处理的冲突检测可防止在并发处理多个资源更新请求时,不同的资源更新请求同时更新相同的资源,以保。

33、证资源数据的一致性,也即,在同一时刻仅有一个资源操作请求能获得某资源节点的锁,并且只有获得该锁的资源操作请求才可以被处理以更新相应的资源,而未能获得该锁的资源操作请求将排队等待拥有该锁的资源操作请求释放该锁。0062 在此,所述锁的机制可通过信号量来实现,所述信号量是一种记录型数据结构,其仅能通过两个标准的原子操作来访问,这两个操作被称为P、V操作,在此,P操作表示申请一个资源,即实现资源的加锁,V操作表示释放一个资源,即实现资源的解锁。其中,所述原子操作(简称“原语”)是在计算机操作执行上不可中断的操作。0063 其中,锁的原子操作不可能由软件单独保证-必须需要硬件的支持。例如,在x86平台。

34、上,CPU提供了在指令执行期间对总线加锁的手段。CPU芯片上有一条引线#HLOCK pin,如果汇编语言的程序中在一条指令前面加上前缀LOCK,经过汇编以后的机器代码就使CPU在执行这条指令的时候把#HLOCK pin的电位拉低,持续到这条指令结束时放开,从而把总线锁住,这样同一总线上别的CPU就暂时不能通过总线访问内存了,保证了这条指令在多处理器环境中的原子性。0064 在一示例中(参照图4),在社交网络社区中,两个资源更新请求分别为R1、R2,且R1、R2在资源树中所对应的资源节点为N1、N2,其中,N1与N2之间为父子关系,当并发处理装置13对R1、R2进行并发处理时,检测装置通过该资源。

35、树的应用编程接口(API),为资源更新请求R1对资源节点N1执行P操作,以实现对资源节点N1,以及该资源节点的子树资源说 明 书CN 103077174 A7/14页10节点N2、N4进行加锁,此刻,资源更新请求R1可更新资源节点N1及其子树资源节点所对应的资源。由于资源更新请求R2所对应的资源节点N2已被加锁,故R2需排队等待直到检测装置为R1执行V操作,以实现对资源节点N1、N2、N4的解锁。当资源节点N2被解锁时,检测装置将为资源更新请求R2对资源节点N2执行P操作,以现实对资源节点N2进行加锁,此刻,资源更新请求R2可更新资源节点N2所对应的资源。0065 本领域技术人员应能理解上述冲。

36、突检测的方式仅为举例,其他现有的或今后可能出现的冲突检测的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。0066 在此,通过在资源更新请求所对应的资源节点加锁,可防止与该资源节点或该资源节点的子树资源节点所对应的其他资源更新请求与该资源更新请求被同时并行处理,即实现并发处理的冲突检测,从而在并发处理过程中保证资源数据的一致性。0067 在另一优选实施例中(参照图1),处理设备1还包括资源树更新装置(未示出)。资源树更新装置根据与所述多个资源更新请求相对应的资源的更新,建立或更新所述资源树。以下参照图1对该另一优选实施例进行详细描述,其中,请求获取装置11获取多个。

37、资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;标识获取装置12根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;并发处理装置13根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源;其具体过程与前述参照图1所描述的实施例中请求获取装置11、标识获取装置12和并发处理装置13所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。0068 具体地,资源树更新装置例如通过实时监测并发处理装置13对资源更新请求的处理,以获得其所增加或删除的资源,并据此通过调用资源树的应用编程接口(API),在资源树中增加或删除该资源所对应的资源。

38、节点。若检测到该资源树未建立,则先行初始化该资源树,然后再更新该资源树中的资源节点。0069 在一个示例中(参照图4),在社交网络社区中,一个资源更新请求为删除用户U1的相册A下的照片P1,并发处理装置13处理该资源更新请求已将照片P1删除,资源树更新装置实时监测该资源请求处理事件,并通过调用资源树的应用编程接口(API),在资源树中删除资源节点N4。0070 本领域技术人员应能理解上述建立或更新资源树的方式仅为举例,其他现有的或今后可能出现的建立或更新资源树的方式如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。0071 在再一优选实施例中(参照图1),处理设备1还包括串。

39、行处理装置(未示出)。当标识获取装置12未获取多个资源更新请求所对应的资源标识时,串行处理装置按照该多个资源更新请求提交时间的先后顺序,对该多个资源更新请求进行串行处理,以更新多个待更新资源。以下参照图1对该再一优选实施例进行详细描述,其中,请求获取装置11获取多个资源更新请求,分别用于请求对多个待更新资源中各个待更新资源进行更新;标识获取装置12根据所述多个资源更新请求,获取与该多个资源更新请求相对应的资源标识;并发处理装置13根据所述资源标识,对所述多个资源更新请求进行并发处理,以更新所述多个待更新资源;其具体过程与前述参照图1所描述的实施例中请求获取装置11、标识获取装置12和并发处理装置13所执行的过程相同,为简明起见,以引用方式包含于此,而不说 明 书CN 103077174 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1