CN106470150A - 关系链存储方法及装置 - Google Patents
关系链存储方法及装置 Download PDFInfo
- Publication number
- CN106470150A CN106470150A CN201510519913.9A CN201510519913A CN106470150A CN 106470150 A CN106470150 A CN 106470150A CN 201510519913 A CN201510519913 A CN 201510519913A CN 106470150 A CN106470150 A CN 106470150A
- Authority
- CN
- China
- Prior art keywords
- concern
- data entry
- target
- public identity
- index
- 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.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种关系链存储方法及装置,属于网络技术领域。方法包括:接收关注公众标识的用户标识;根据用户标识以及索引为分组信息的数据条目,确定用户标识的目标索引和第一目标偏移地址;以目标索引为索引、以第一目标偏移地址为偏移地址,在目标数据条目中确定目标存储地址;将用户标识和关注状态存储至目标存储地址。本发明通过采用分级的存储方式,将公众标识的订阅用户进行分组存储,基于建立的二级索引,按照订阅用户的用户标识以及具体分组信息,将用户标识和该订阅用户的关注状态对应存储于一个唯一位置,为后续的用户关注状态等的变化提供了状态标记功能,在保证了操作的高效性的同时,还能够保证数据一致性。
Description
技术领域
本发明涉及网络技术领域,特别涉及一种关系链存储方法及装置。
背景技术
随着网络技术的发展,信息服务平台的功能越来越强大。信息服务实际上是对用户与用户之间进行消息传输提供处理平台,而实现消息传输的前提在于在信息服务平台上对用户之间的关系链进行存储。对于消息传输的两方用户A和用户B来说,用户A具有多个好友,用户B同样具有多个好友,对于这些用户的关系链均需要维护。现有技术中的关系链存储主要基于数据库方式:如将用户的好友对应的数据全部保存在数据库中,通过QQ等用户标识作为主键,来查询数据库中的好友记录,并在管理和维护时,根据数据库在内存中构建一个链表的数据结构,从而实现变长的数据操作。
然而,随着信息服务的多元化,出现了如公共标识等信息服务形式。商家(即B侧)可以通过公众标识向用户(即C侧)发送各种通知消息、营销性消息或活动消息等来积累用户,C侧用户还可以主动与B侧商家进行交流,发送上行消息或通过线下运营活动主动关注,以成为B侧的订阅用户。这种信息服务形式随着时间的积累,使得公共标识所对应的订阅用户数量越来越大,公共标识的关系链越来越长,对于涉及到巨大订阅用户量的关系链,我们称之为长关系链。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
对于长关系链来说,由于涉及到的订阅用户量巨大,如果也采用现有的存储方式,一旦发生涉及大量的高并发访问或添加、删除和修改等关系链操作,不仅关系链操作的效率很低,而且很难确保数据一致性。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种关系链存储方法及装置。所述技术方案如下:
一方面,提供了一种关系链存储方法,所述方法包括:
接收关注公众标识的用户标识;
根据所述用户标识以及索引为分组信息的数据条目,确定所述用户标识的目标索引和第一目标偏移地址,所述索引为分组信息的数据条目中包括所述公众标识的关注用户的多个类型的分组信息,所述目标索引为所述用户标识所在分组的分组标识;
以所述目标索引为索引、以所述第一目标偏移地址为偏移地址,在目标数据条目中确定目标存储地址;
将所述用户标识和关注状态存储至所述目标存储地址。
另一方面,提供了一种关系链存储装置,所述装置包括:
接收模块,用于接收关注公众标识的用户标识;
确定模块,用于根据所述用户标识以及索引为分组信息的数据条目,确定所述用户标识的目标索引和第一目标偏移地址,所述索引为分组信息的数据条目中包括所述公众标识的关注用户的多个类型的分组信息,所述目标索引为所述用户标识所在分组的分组标识;
存储地址确定模块,用于以所述目标索引为索引、以所述第一目标偏移地址为偏移地址,在目标数据条目中确定目标存储地址;
存储模块,用于将所述用户标识和关注状态存储至所述目标存储地址。
本发明实施例提供的技术方案带来的有益效果是:
通过采用分级的存储方式,将公众标识的订阅用户进行分组存储,基于建立的二级索引,按照订阅用户的用户标识以及具体分组信息,将用户标识和该订阅用户的关注状态对应存储于一个唯一位置,为后续的用户关注状态等的变化提供了状态标记功能,在保证了操作的高效性的同时,还能够保证数据一致性,进一步地,这种存储方式能够有效节省存储空间,减少内存拷贝操作,有效提升整体性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种关系链存储方法流程图;
图2是本发明实施例提供的一种关系链存储方法流程图;
图3A是本发明实施例提供的一种存储格式示意图;
图3B是本发明实施例提供的另一种存储格式示意图;
图4为本发明实施例提供的信息服务***的架构示意图;
图5是本发明实施例提供的一种关系链存储装置的结构示意图;
图6是本发明实施例提供的一种关系链存储装置的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
信息服务,是指如即时通讯服务、社交应用服务以及B2P(Business to Person,商户对个人用户)等一些涉及到信息交互的服务。
即时通讯:(Instant messaging,简称IM)是一个终端服务,允许两人或多人使用网路即时的传递文字讯息、档案、语音与视频。即时通讯按照使用用途可以分为企业即时通讯和网站即时通讯,按照承载的对象又可分为手机即时通讯和PC(Personal Computer,个人电脑)即时通讯,其中,手机即时通讯可以代表短信,PC即时通讯可以代表网站、视频即时通讯。
社交应用服务,是一个终端服务,可以为用户提供个人信息展示、用户之间的信息交互等服务。
信息:指音讯、消息、通讯***传输和处理的对象,泛指人类社会传播的一切内容,如文字、图片、语音、视频等等。人通过获得、识别自然界和社会的不同信息来区别不同事物,得以认识和改造世界。在一切通讯和控制***中,信息是一种普遍联系的形式。
C2C消息(Customer-to-Customer Message),本发明中主要是指即时通讯客户端之间的信息,通常就是客户端之间相互在聊天和沟通过程当中相互发送的信息,通常这些消息需要经过服务器端的中转。
B2C消息(Business-to-Customer Message),本发明中主要是指从服务器商家服务者这一方主动发送给即时通讯终端的各种信息,包括文本,图片,音视频等多媒体信息。
C2B消息(Customer-to-Business Message),本发明中主要是指终端用户从终端主动向服务器端的商家发送的各类消息,这些消息属于上行通道的信息,包括文本,图片,音视频等多媒体信息。
社交关系链是指人与人之间点对点的关系,每个人可以当做是社会群体中的一个节点,而两点之间的连线成为一个关系链。对于熟人关系网络所构成的关系链可以称作强关系链,而对于一些基于爱好、兴趣等形成起来的关系链可以称作弱关系链或微关系链。
公共标识是开发者或商家在信息服务平台上申请的应用账号,通过公共标识,开发者或商家可在信息服务平台上,基于文字、图片、语音、视频等方式,实现向广大用户全方位地进行信息推送或与广大用户进行沟通或互动。对于用户量较大的公共标识所对应的社交关系链可以成为长关系链。
图1是本发明实施例提供的一种关系链存储方法的流程图。参见图1,该方法包括:
101、接收关注公众标识的用户标识。
102、根据该用户标识以及索引为分组信息的数据条目,确定该用户标识的目标索引和第一目标偏移地址,该索引为分组信息的数据条目中包括该公众标识的关注用户的多个类型的分组信息,该目标索引为该用户标识所在分组的分组标识。
103、以该目标索引为索引、以该第一目标偏移地址为偏移地址,在目标数据条目中确定目标存储地址。
104、将该用户标识和关注状态存储至该目标存储地址。
可选地,根据该用户标识以及索引为分组信息的数据条目,确定该用户标识的目标索引和第一目标偏移地址包括:
通过第一预设特征值算法,获取该用户标识的用户特征值,该用户特征值用于唯一表示该用户标识;根据该用户特征值,在该数据条目中查询该目标索引和该第一目标偏移地址。
可选地,将该用户标识和关注状态存储至该目标存储地址之后,该方法还包括:当接收到该用户标识发送的关系链请求时,对该用户标识对应的关注状态进行与该关系链请求对应的编辑。
可选地,该关系链请求用于:将该关注状态修改为删除状态;或,将该关注状态修改为屏蔽状态;或,将该关注状态修改为取消关注状态。
可选地,该方法还包括:
将所述用户标识的存储地址信息存储至第一指定索引对应的数据条目中,所述第一指定索引对应的数据条目至少包括已取消关注的用户标识;或,
当接收到批量删除操作时,将所述批量删除操作对应的多个用户标识的存储地址信息存储至第二指定索引对应的数据条目中,所述第二指定索引对应的数据条目至少包括已删除的用户标识;或,
当接收到所述用户标识发送的屏蔽请求时,将所述用户标识的存储地址信息存储至第三指定索引对应的数据条目中,所述第三指定索引对应的数据条目至少包括已屏蔽所述公众标识的用户标识。
可选地,接收关注公众标识的用户标识之后,该方法还包括:
确定以该用户标识为索引的用户数据条目;
通过第二预设特征值算法,获取该公众标识的公众特征值,该公众特征值用于唯一表示该公众标识;
根据该公知特征值,在该用户数据条目中确定第二目标偏移地址;
将该公众标识以及关注行为信息,存储于该第二目标偏移地址。
可选地,该关注行为信息包括:公众标识分组、公众标识群发消息标识、公众标识位置标识、是否接收推送消息标识、公众标识单发消息标识、时间信息以及收听类型信息中的一项或多项的组合。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图2是本发明实施例提供的一种关系链存储方法的流程图。参见图2,该实施例具体包括:
201、接收关注公众标识的用户标识。
该接收过程可以是接收到用户对公众标识的关注操作。当接收到该关注操作时,可以根据进行关注操作的用户标识和该关注操作所关注的公众标识,进行关系链的存储。
202、通过第一预设特征值算法,获取该用户标识的用户特征值,该用户特征值用于唯一表示该用户标识。
该第一预设特征值算法可以为哈希算法,通过该算法可以将任意长度的输入变换成固定长度的输出,由此可以将用户标识按照统一的规则进行存储位置的映射。
203、根据该用户特征值,在索引为分组信息的数据条目中确定该目标索引和该第一目标偏移地址,其中,该目标索引为用户标识所在分组的分组标识。
对于分组信息的存储可以采取键值(key-Value)存储方式,也即是,索引为分组信息,数据条目中的键值为公众标识的关注用户的多个类型的分组信息,该条索引为分组信息的数据条目也可以看做是元数据,在本发明实施例中,可以通过对元数据的查询,确定该用户标识应该存储于哪个分组的哪个位置。
进一步地,该数据条目的键值在包含上述多个类型的分组信息的基础上,还可以包括如下表1中的各个字段。
表1
通过对用户特征值的分析,可以确定其目标存储地址,该具体分析过程可以如下:根据用户特征值的第一指定位数的取值,确定目标分组标识,根据该用户特征值的第二指定位数的取值,确定在该分组内的第一目标偏移地址。当然,该分析过程还可以采用其他形式,比如对基于用户特征值进行二次特征值计算,以避免存储位置发生冲突,本发明实施例不作具体限定。
采用上述键值结构对分组信息进行存储,通过多个键值结构对各个分组中的用户标识进行存储,可以实现对一个B2C关系链上的订阅用户,通过分组进行管理。图3A是本发明实施例所提供的一种存储格式示意图。参见图3A,索引为分组信息(puin_info)的数据条目是第一级存储,而索引为分组标识的数据条目为第二级存储,每个索引为分组标识的数据条目均包括了多个用户数据。如,puin_gid_N表示第N个分组,数据条目的每个用户数据可以表示为一个二进制数据{关注状态,用户标识},即value=[{state,uin}]。另外,对于表1中所示的添加队列、删除队列、回收队列以及虚拟组列表等,可以采用如图3A中最后一行所示的形式。
需要说明的是,本发明实施例所述的各个队列,以回收队列为例,该回收队列也可以采用特征值算法得到被回收用户标识的特征值,再根据该特征值来确定被回收用户标识的存储地址信息在回收队列中的存储位置,也即是,key=r_(uin)_(groupid),r_也是hash函数。通常在取消关注或者批量清理订阅用户的时候,除了编辑用户在其分组标识的数据条目中的关注状态以外,还可以将所述用户标识的存储地址信息存储至第一指定索引对应的数据条目中,其确定过程与上述确定目标存储地址的过程同理,在此不作赘述。
对于其他本发明实施例所述的各个队列,对于回收队列,可以有以下步骤:将所述用户标识的存储地址信息存储至第一指定索引对应的数据条目中,所述第一指定索引对应的数据条目至少包括已取消关注的用户标识。
对于删除队列,可以有以下步骤:当接收到批量删除操作时,将所述批量删除操作对应的多个用户标识的存储地址信息存储至第二指定索引对应的数据条目中,所述第二指定索引对应的数据条目至少包括已删除的用户标识。
对于屏蔽队列,可以有以下步骤:当接收到所述用户标识发送的屏蔽请求时,将所述用户标识的存储地址信息存储至第三指定索引对应的数据条目中,所述第三指定索引对应的数据条目至少包括已屏蔽所述公众标识的用户标识。
需要说明的是,在存储格式中维护一个回收队列等队列,可以使得在后续校验一致性时避免出现数据误差,也可以作为一些发送场景的用户标识依据,如在确定是否向某一用户发送消息时,可以根据其是否在回收队列中,从而提高数据的一致性,提高关系链操作的准确性,从而提升关系链操作的效率。
204、以该目标索引为索引、以该第一目标偏移地址为偏移地址,在目标数据条目中确定目标存储地址。
205、将该用户标识和关注状态存储至该目标存储地址。
上述步骤204和205中,可以看做是一个寻址过程,将用户标识和关注状态存储于所确定的目标存储地址中。
基于上述存储格式,为了节省存储空间,通常保存的用户数据是一个二进制数据{关注状态,用户标识},即{state,uin}。其中,关注状态用于标识这个用户的状态,比如删除状态、屏蔽状态或取消关注状态等,便于后续的事务操作和一致性校验。可选地,该关注状态的数据大小可以为1Byte,即8个标志位。用户标识可以是该用户的QQ号等用于唯一标识该用户的信息,其数据大小可以为4Bytes。
在执行了该存储步骤后,则可以在后续事务操作中进行信息交互,如向某个分组的用户发送通知消息等。
206、当接收到该用户标识发送的关系链请求时,对该用户标识对应的关注状态进行与该关系链请求对应的编辑。
关系链请求可以有如下作用:将该关注状态修改为删除状态;或,将该关注状态修改为屏蔽状态;或,将该关注状态修改为取消关注状态。
则对于上述关注状态的改变,可以对已存储至目标存储位置的用户标识对应的关注状态进行改变。其具体如何确定对哪个存储位置中所存储的关注状态进行编辑,可以根据该关系链请求的请求对象的用户标识进行如上述过程中所提及的特征值方式进行确定,在此不再赘述。
相应地,可以根据关系链请求的具体请求操作类型,确定将该作为请求对象的用户标识对应的存储位置信息存储至哪个队列中,以保证后续数据一致性。
进一步地,在接收到关注公众标识的用户标识时,还需要对该用户标识的关系链进行维护,该具体过程可以包括:确定以该用户标识为索引的用户数据条目;通过第二预设特征值算法,获取该公众标识的公众特征值,该公众特征值用于唯一表示该公众标识;根据该公众特征值,在该用户数据条目中确定第二目标偏移地址;将该公众标识以及关注行为信息,存储于该第二目标偏移地址。
对于该用户标识来说,基于该存储格式可以用于存储一个用户关注了哪些公众标识以及对每个公众标识的关注行为信息。其存储格式也可以采用键值方式,如表2和图3B所示,在表2中,以用户标识为索引的用户数据条目的Value中,存储了该公众标识以及关注行为信息等。进一步地,该关注行为信息包括:公众标识分组、公众标识群发消息标识、公众标识位置标识、是否接收推送消息标识、公众标识单发消息标识、位置、时间信息以及收听类型信息中的一项或多项的组合。其中,公众标识位置标识是指该用户所关注的以公众标识为索引的数据条目存储位置,该位置可以是指该用户标识自身数据条目的存储位置。
表2
需要说明的是,上述对于B2C的存储和C2B的存储来说,其所采用的特征值算法可以不同,也即是,第一预设特征值算法和第二预设特征值算法可以不同,本发明实施例对此不作具体限定。
进一步地,上述B2C的存储和C2B的存储可以双向查询,也即是,在通过B2C的关系链进行查询时,还可以进一步查询到关系链上任一个用户标识对应的数据条目,而通过C2B的关系链进行查询时,还可以进一步查询到关系链上任一个公众标识对应的数据条目以及公众标识的分组信息等。
本发明实施例提供的方法,通过采用分级的存储方式,将公众标识的订阅用户进行分组存储,基于建立的二级索引,按照订阅用户的用户标识以及具体分组信息,将用户标识和该订阅用户的关注状态对应存储于一个唯一位置,为后续的用户关注状态等的变化提供了状态标记功能,在保证了操作的高效性的同时,还能够保证数据一致性,进一步地,这种存储方式能够有效节省存储空间,减少内存拷贝操作,有效提升整体性能。进一步地,维护了独立的添加队列、删除队列、屏蔽队列以及回收队列等独立于存储用户标识的数据条目,使得能够对分配的存储空间采用分步的事务方式操作,同时为了特定的运营需求,在后端能够批量快速进行关系链数据的导入导出。而且,基于这种B2C至C2B的互通式的索引方式,能够快速查找和定位与关注相关的数据结构,实现高效的各种操作,也能够在高并发的操作下能够维持最终关系链数据的一致性;能够有效节省存储空间,减少内存拷贝操作,有效提升整体性能。
为了进一步描述本发明实施例提供的方法,下面基于信息服务***的基本架构以及各个服务模块的具体功能,详细对本发明实施例涉及的关系链存储过程进行介绍,该图4为本发明实施例提供的信息服务***的架构示意图,参见图4,该信息服务***包括:
信息服务客户端,可以是即时通讯客户端或社交应用客户端,可以用于发送和接收文字、图片、视频以及音频等消息及进行消息的展示。具体地,该信息服务客户端可以通过消息***接口服务器进行消息拉取。当信息服务客户端接收到消息***服务器发送的消息通知时,主动从消息服务器上拉取消息。该信息服务客户端还可以通过消息上行通道,将客户端的各种操作行为信息及对应参数上报信息服务侧的统计上报接口服务器,同时形成新的B侧和C侧的关系链***或者将用户主动关注、取消关注、屏蔽等操作上报***,并将用户对B侧推送的消息的点击行为上报给***。
关系链***,用于保存和记录账号之间的关联关系。该关联关系可以是指强关联如好友关系,也可以是弱关联,如关注关系、收听关系。在强关联关系下,账号与账号之间可以是一对一的关系,在弱关联管辖下,通常形式是一个账号A标识一个发送方,一个集合B标识可以接受账号A可以发送信息的所有账号。当账号A有消息需要发送时,消息服务可以通过调度服务从关系链***中,获取该账号A相关的关系链上的发送消息的账号和接收消息账号。当然,该关系链***是可以变化的***,当客户端用户主动取消或者关注某一个账号的时候,可以通过消息***接口服务器发送上行消息,使得关系链***修改相应的关注关系。
该关系链***作为信息服务客户端和后端长关系链***对接的主要接口服务器,通常按照不同运营商ISP部署用于的就近接入服务器。并且,该关系链***可以将用户对B侧账号的各种操作行为比如取消,关注和屏蔽等行为通过该服务器传送至长关系链逻辑服务器。
长关系链逻辑服务器作为实现关系链的建立维护及相关更新的主要业务逻辑服务器,可以接收关系链接口服务传递过来的终端的各种操作行为。对于C2B和B2C按照上述描述的数据结构和组织方法,来选择不同的特征值算法,对二级存储结构进行维护,最终将用户标识保存在关系链存储***当中。该长关系逻辑服务器还用于从粉丝号码服务器读取号码包数据,批量操作关系链存储***。
粉丝管理服务器是长关系链***维护的主要入口服务器,通常一个公众标识刚开始创建的时候没有粉丝或者关注的人会非常少,为了运营的需要通常会从其他对应的业务场景导入一批粉丝,比如电商购物行为的用户,让用户关注对应的电商公众标识,此时通过粉丝管理器来导入粉丝,然而你,对一个B侧公众标识随着时间累积,需要将关注的粉丝导出,进行二次分析和挖掘,需要通过此服务器进行。为了保证关系链最终数据的一致性,比如用户关注了某一个公众标识,那么在对应公众标识的关注粉丝列表当中必须存储这个粉丝或者已经在删除列表当中被删除的用户,就不能再对应公众标识的粉丝列表当中,需要通过粉丝管理服务器定期比如每天或者每隔几个小时(通常按照粉丝变化的频率待定,越是频繁维护一致性的周期越短)。读取统计分析***用户上报的比如屏蔽行为的数据,生成屏蔽号码包粉丝,彻底从关系链***中删除。
粉丝号码包服务用于接受粉丝管理服务器的管理,导入各种公众标识需要运营和主动加入关注的粉丝号码包或者临时存储需要导出的号码包,并供长关系链逻辑服务器读取不同的号码包。
关系链存储***用于提供上述描述的关系链存储方法,对于C2B关系链数据可以采用一级存储进行,对于B2C的长关系链数据可以采用二级存储,且通常采用的是分布式的key-value***,确保数据不丢失和可靠性,最终关系链数据的落地保存。该关系链存储***可以接受长关系链逻辑服务器的各种操作比如取消和关注及屏蔽操作等等。
统计分析***用于接受终端上报用户的屏蔽,取消及关注的行为及用户对B侧推送的消息操作的点击行为数据,并供粉丝管理服务器读取粉丝用户操作行为的分析日志结果。需要说明的是,此处所述的粉丝即是上述实施例中的订阅用户、关注用户,是指关注某一个公众标识的用户。
图5是是本发明实施例提供的一种关系链存储装置的结构示意图。参见图5,所述装置包括:
接收模块501,用于接收关注公众标识的用户标识;
确定模块502,用于根据所述用户标识以及索引为分组信息的数据条目,确定所述用户标识的目标索引和第一目标偏移地址,所述索引为分组信息的数据条目中包括所述公众标识的关注用户的多个类型的分组信息,所述目标索引为所述用户标识所在分组的分组标识;
存储地址确定模块503,用于以所述目标索引为索引、以所述第一目标偏移地址为偏移地址,在目标数据条目中确定目标存储地址;
存储模块504,用于将所述用户标识和关注状态存储至所述目标存储地址。
可选地,所述确定模块用于通过第一预设特征值算法,获取所述用户标识的用户特征值,所述用户特征值用于唯一表示所述用户标识;根据所述用户特征值,在所述数据条目中确定所述目标索引和所述第一目标偏移地址。
可选地,所述装置还包括:
编辑模块,用于当接收到所述用户标识发送的关系链请求时,对所述用户标识对应的关注状态进行与所述关系链请求对应的编辑。
可选地,所述关系链请求用于:
将所述关注状态修改为删除状态;或,
将所述关注状态修改为屏蔽状态;或,
将所述关注状态修改为取消关注状态。
可选地,所述存储模块用于:
将所述用户标识的存储地址信息存储至第一指定索引对应的数据条目中,所述第一指定索引对应的数据条目至少包括已取消关注的用户标识;或,
当接收到批量删除操作时,将所述批量删除操作对应的多个用户标识的存储地址信息存储至第二指定索引对应的数据条目中,所述第二指定索引对应的数据条目至少包括已删除的用户标识;或,
当接收到所述用户标识发送的屏蔽请求时,将所述用户标识的存储地址信息存储至第三指定索引对应的数据条目中,所述第三指定索引对应的数据条目至少包括已屏蔽所述公众标识的用户标识。
可选地,所述装置还包括:
数据条目确定模块,用于确定以所述用户标识为索引的用户数据条目;
特征值获取模块,用于通过第二预设特征值算法,获取所述公众标识的公众特征值,所述公众特征值用于唯一表示所述公众标识;
偏移地址确定模块,用于根据所述公众特征值,在所述用户数据条目中确定第二目标偏移地址;
关注行为信息存储模块,用于将所述公众标识以及关注行为信息,存储于所述第二目标偏移地址。
可选地,所述关注行为信息包括:公众标识分组、公众标识群发消息标识、公众标识位置标识、是否接收推送消息标识、公众标识单发消息标识、时间信息以及收听类型信息中的一项或多项的组合。
需要说明的是:上述实施例提供的关系链存储装置在关系链存储时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的关系链存储装置与关系链存储方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是根据一示例性实施例示出的一种关系链存储装置600的框图。例如,装置600可以被提供为一服务器。参照图6,装置600包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,用于存储可由处理部件622的执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述关系链存储方法。
装置600还可以包括一个电源组件626被配置为执行装置600的电源管理,一个有线或无线网络接口650被配置为将装置600连接到网络,和一个输入输出(I/O)接口658。装置600可以操作基于存储在存储器632的操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种关系链存储方法,其特征在于,所述方法包括:
接收关注公众标识的用户标识;
根据所述用户标识以及索引为分组信息的数据条目,确定所述用户标识的目标索引和第一目标偏移地址,所述索引为分组信息的数据条目中包括所述公众标识的关注用户的多个类型的分组信息,所述目标索引为所述用户标识所在分组的分组标识;
以所述目标索引为索引、以所述第一目标偏移地址为偏移地址,在目标数据条目中确定目标存储地址;
将所述用户标识和关注状态存储至所述目标存储地址。
2.根据权利要求1所述的方法,其特征在于,根据所述用户标识以及索引为分组信息的数据条目,确定所述用户标识的目标索引和第一目标偏移地址包括:
通过第一预设特征值算法,获取所述用户标识的用户特征值,所述用户特征值用于唯一表示所述用户标识;
根据所述用户特征值,在所述数据条目中,确定所述目标索引和所述第一目标偏移地址。
3.根据权利要求1所述的方法,其特征在于,将所述用户标识和关注状态存储至所述目标存储地址之后,所述方法还包括:
当接收到所述用户标识发送的关系链请求时,对所述用户标识对应的关注状态进行与所述关系链请求对应的编辑。
4.根据权利要求3所述的方法,其特征在于,所述关系链请求用于:
将所述关注状态修改为删除状态;或,
将所述关注状态修改为屏蔽状态;或,
将所述关注状态修改为取消关注状态。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述用户标识的存储地址信息存储至第一指定索引对应的数据条目中,所述第一指定索引对应的数据条目至少包括已取消关注的用户标识;或,
当接收到批量删除操作时,将所述批量删除操作对应的多个用户标识的存储地址信息存储至第二指定索引对应的数据条目中,所述第二指定索引对应的数据条目至少包括已删除的用户标识;或,
当接收到所述用户标识发送的屏蔽请求时,将所述用户标识的存储地址信息存储至第三指定索引对应的数据条目中,所述第三指定索引对应的数据条目至少包括已屏蔽所述公众标识的用户标识。
6.根据权利要求1所述的方法,其特征在于,接收关注公众标识的用户标识之后,所述方法还包括:
确定以所述用户标识为索引的用户数据条目;
通过第二预设特征值算法,获取所述公众标识的公众特征值,所述公众特征值用于唯一表示所述公众标识;
根据所述公众特征值,在所述用户数据条目中确定第二目标偏移地址;
将所述公众标识以及关注行为信息,存储于所述第二目标偏移地址。
7.根据权利要求6所述的方法,其特征在于,所述关注行为信息包括:公众标识分组、公众标识群发消息标识、公众标识位置标识、是否接收推送消息标识、公众标识单发消息标识、时间信息以及收听类型信息中的一项或多项的组合。
8.一种关系链存储装置,其特征在于,所述装置包括:
接收模块,用于接收关注公众标识的用户标识;
确定模块,用于根据所述用户标识以及索引为分组信息的数据条目,确定所述用户标识的目标索引和第一目标偏移地址,所述索引为分组信息的数据条目中包括所述公众标识的关注用户的多个类型的分组信息,所述目标索引为所述用户标识所在分组的分组标识;
存储地址确定模块,用于以所述目标索引为索引、以所述第一目标偏移地址为偏移地址,在目标数据条目中确定目标存储地址;
存储模块,用于将所述用户标识和关注状态存储至所述目标存储地址。
9.根据权利要求8所述的装置,其特征在于,所述确定模块用于通过第一预设特征值算法,获取所述用户标识的用户特征值,所述用户特征值用于唯一表示所述用户标识;根据所述用户特征值,在所述数据条目中确定所述目标索引和所述第一目标偏移地址。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
编辑模块,用于当接收到所述用户标识发送的关系链请求时,对所述用户标识对应的关注状态进行与所述关系链请求对应的编辑。
11.根据权利要求10所述的装置,其特征在于,所述关系链请求用于:
将所述关注状态修改为删除状态;或,
将所述关注状态修改为屏蔽状态;或,
将所述关注状态修改为取消关注状态。
12.根据权利要求11所述的装置,其特征在于,所述存储模块用于:
将所述用户标识的存储地址信息存储至第一指定索引对应的数据条目中,所述第一指定索引对应的数据条目至少包括已取消关注的用户标识;或,
当接收到批量删除操作时,将所述批量删除操作对应的多个用户标识的存储地址信息存储至第二指定索引对应的数据条目中,所述第二指定索引对应的数据条目至少包括已删除的用户标识;或,
当接收到所述用户标识发送的屏蔽请求时,将所述用户标识的存储地址信息存储至第三指定索引对应的数据条目中,所述第三指定索引对应的数据条目至少包括已屏蔽所述公众标识的用户标识。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
数据条目确定模块,用于确定以所述用户标识为索引的用户数据条目;
特征值获取模块,用于通过第二预设特征值算法,获取所述公众标识的公众特征值,所述公众特征值用于唯一表示所述公众标识;
偏移地址确定模块,用于根据所述公众特征值,在所述用户数据条目中确定第二目标偏移地址;
关注行为信息存储模块,用于将所述公众标识以及关注行为信息,存储于所述第二目标偏移地址。
14.根据权利要求13所述的装置,其特征在于,所述关注行为信息包括:公众标识分组、公众标识群发消息标识、公众标识位置标识、是否接收推送消息标识、公众标识单发消息标识、时间信息以及收听类型信息中的一项或多项的组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510519913.9A CN106470150B (zh) | 2015-08-21 | 2015-08-21 | 关系链存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510519913.9A CN106470150B (zh) | 2015-08-21 | 2015-08-21 | 关系链存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106470150A true CN106470150A (zh) | 2017-03-01 |
CN106470150B CN106470150B (zh) | 2020-04-24 |
Family
ID=58229105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510519913.9A Active CN106470150B (zh) | 2015-08-21 | 2015-08-21 | 关系链存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106470150B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108830704A (zh) * | 2018-06-28 | 2018-11-16 | 中国建设银行股份有限公司 | 监管标识配置方法及装置 |
CN110781375A (zh) * | 2018-07-31 | 2020-02-11 | 阿里巴巴集团控股有限公司 | 一种用户状态标识确定方法及装置 |
CN111064657A (zh) * | 2019-12-30 | 2020-04-24 | 广州酷狗计算机科技有限公司 | 关注账户分组的方法、装置、*** |
CN111324674A (zh) * | 2020-01-20 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 业务处理方法、装置、服务器及存储介质 |
CN112153476A (zh) * | 2020-09-22 | 2020-12-29 | 游艺星际(北京)科技有限公司 | 交互数据处理方法和装置、服务器、存储介质 |
CN112182027A (zh) * | 2020-09-11 | 2021-01-05 | 北京达佳互联信息技术有限公司 | 信息查询方法、装置、电子设备及存储介质 |
CN114168068A (zh) * | 2020-09-10 | 2022-03-11 | 美光科技公司 | 存储器搜索组件 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080147861A1 (en) * | 2006-12-13 | 2008-06-19 | Takumi Oishi | Data distribution network and an apparatus of index holding |
CN103731459A (zh) * | 2012-10-15 | 2014-04-16 | 阿里巴巴集团控股有限公司 | 一种基于社会性网络服务的互动数据的传播方法及服务器 |
CN103838757A (zh) * | 2012-11-26 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 对用户的长关系链数据的处理***和方法 |
CN104468318A (zh) * | 2013-09-18 | 2015-03-25 | 腾讯科技(北京)有限公司 | 网络通信中回收反向关系链的方法及服务器 |
CN104615595A (zh) * | 2013-11-04 | 2015-05-13 | 腾讯科技(北京)有限公司 | 数据处理方法及社交媒体存储平台 |
-
2015
- 2015-08-21 CN CN201510519913.9A patent/CN106470150B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080147861A1 (en) * | 2006-12-13 | 2008-06-19 | Takumi Oishi | Data distribution network and an apparatus of index holding |
CN103731459A (zh) * | 2012-10-15 | 2014-04-16 | 阿里巴巴集团控股有限公司 | 一种基于社会性网络服务的互动数据的传播方法及服务器 |
CN103838757A (zh) * | 2012-11-26 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 对用户的长关系链数据的处理***和方法 |
CN104468318A (zh) * | 2013-09-18 | 2015-03-25 | 腾讯科技(北京)有限公司 | 网络通信中回收反向关系链的方法及服务器 |
CN104615595A (zh) * | 2013-11-04 | 2015-05-13 | 腾讯科技(北京)有限公司 | 数据处理方法及社交媒体存储平台 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108830704A (zh) * | 2018-06-28 | 2018-11-16 | 中国建设银行股份有限公司 | 监管标识配置方法及装置 |
CN110781375A (zh) * | 2018-07-31 | 2020-02-11 | 阿里巴巴集团控股有限公司 | 一种用户状态标识确定方法及装置 |
CN111064657A (zh) * | 2019-12-30 | 2020-04-24 | 广州酷狗计算机科技有限公司 | 关注账户分组的方法、装置、*** |
CN111324674A (zh) * | 2020-01-20 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 业务处理方法、装置、服务器及存储介质 |
CN114168068A (zh) * | 2020-09-10 | 2022-03-11 | 美光科技公司 | 存储器搜索组件 |
CN114168068B (zh) * | 2020-09-10 | 2024-05-14 | 美光科技公司 | 存储器搜索组件 |
CN112182027A (zh) * | 2020-09-11 | 2021-01-05 | 北京达佳互联信息技术有限公司 | 信息查询方法、装置、电子设备及存储介质 |
CN112182027B (zh) * | 2020-09-11 | 2024-03-01 | 北京达佳互联信息技术有限公司 | 信息查询方法、装置、电子设备及存储介质 |
CN112153476A (zh) * | 2020-09-22 | 2020-12-29 | 游艺星际(北京)科技有限公司 | 交互数据处理方法和装置、服务器、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106470150B (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106470150A (zh) | 关系链存储方法及装置 | |
CN104704524B (zh) | 信息公开***、信息公开服务器、通信终端、信息公开方法和非瞬时性计算机可读介质 | |
CN104954322B (zh) | 一种账号的绑定处理方法、装置及*** | |
Chen et al. | TruSMS: A trustworthy SMS spam control system based on trust management | |
CN105991408B (zh) | 一种消息处理方法、装置及处理服务器 | |
CN102185841A (zh) | 一种分类数据传输方法及*** | |
CN104573109A (zh) | 一种基于群组关系的自动推荐方法、终端及*** | |
CN103248677B (zh) | 互联网行为分析***及其工作方法 | |
US8489694B2 (en) | Peer-to-peer collaboration of publishers in a publish-subscription environment | |
CN108933819A (zh) | 一种基于区块链的信息推送方法 | |
CN112685499B (zh) | 一种工作业务流的流程数据同步方法、装置及设备 | |
CN108549965A (zh) | 数据处理方法及数据处理平台、服务器 | |
CN106095789A (zh) | 一种消息订阅管理装置及方法 | |
CN101605136B (zh) | 一种对报文进行互联网协议安全性IPSec处理的方法和装置 | |
CN102368843A (zh) | 一种处理垃圾短信的方法及*** | |
CN104956393A (zh) | 使用用户描述符与社交网络***用户进行的第三方通信 | |
Rong‐na et al. | Provenance‐based data flow control mechanism for Internet of things | |
CN105991407A (zh) | 一种消息处理方法、装置及处理服务器 | |
CN109213955A (zh) | 数据处理方法及相关设备 | |
CN106027419B (zh) | 一种数据结构的管理方法和装置 | |
CN111860655B (zh) | 用户的处理方法、装置和设备 | |
CN102438233A (zh) | 一种手机蠕虫检测方法 | |
CN113542250B (zh) | 基于区块链的网络威胁分析方法、装置及*** | |
CN114239963A (zh) | 有向图循环路径检测方法及装置 | |
CN109391913A (zh) | 一种基于NB-IoT网络资源切片管理的方法及*** |
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 |