本公开实施例涉及终端技术领域,具体涉及一种通讯录的联系人管理方法和管理系统。
背景技术:
通讯录是终端设备上的一个重要的应用系统。该应用系统具有联系人管理功能,能够将联系人按照姓名排序,并将排序后的联系人提供给用户。当然,它还同时具有快速搜索拨号、短信管理、隐私保护、黑白名单、归属地等功能。
但是在实现本公开的过程中,发明人发现现有技术中存在以下缺陷,虽然用户能够得到排序后的联系人,也可以通过检索功能获得指定用户,但是无法确认哪些联系人是最近时间段内密切联系的人。这种高频联系人的发现功能在一些场景中非常有用,例如,通过高频联系人能够帮助公安机关发现罪案的嫌疑人。
技术实现要素:
有鉴于此,本公开实施例提供一种联系人管理方法和通讯录的联系人管理系统,以帮助用户及时获取高频联系人。
根据本公开实施例的第一方面,提供一种通讯录的联系人管理方法,包括:获取所述通讯录上每个联系人的总通话次数;根据每个联系人的总通话次数,获取高频联系人;以及在所述通讯录中以置顶的方式显示所述高频联系人。
可选地,所述获取所述通讯录上每个联系人的总通话次数包括:获取所述通讯录上每个联系人在最近的设定天数内的总通话次数。
可选地,所述获取所述通讯录上每个联系人在最近的设定天数内的总通话次数包括:统计所述通讯录上每个联系人的日通话次数;以及每日累加所述通讯录上每个联系人的日通话次数以获得所述通讯录上每个联系人在最近的设定天数内的总通话次数。
可选地,所述统计所述通讯录上每个联系人的日通话次数包括:在产生通话记录时,对应修改所述通讯录上对应的联系人的日通话次数。
可选地,所述在产生通话记录时,对应修改所述通讯录上对应的联系人的日通话次数包括:针对所述通讯录的联系人管理系统中的每个联系人,建立一个触发器,每个触发器和一个计数器关联,所述触发器在所述联系人呼入或被呼叫时触发,通过所述计数器进行自增操作,以获得对应的联系人的日通话次数。
可选地,还包括:通过存储单元存储所述通讯录上每个联系人的日通话次数,其中,所述存储单元为先进先出的消息队列或单向循环链表。
可选地,所述根据每个联系人的总通话次数,获取高频联系人包括:根据每个联系人的总通话次数排序;以及获取总通话次数最多的至少一个联系人作为高频联系人。
可选地,所述根据每个联系人的总通话次数,获取高频联系人包括:根据每个联系人的总通话次数排序;以及将总通话次数超过设定阈值的至少一个联系人作为高频联系人。
可选地,所述在所述通讯录中以置顶的方式显示所述高频联系人包括:如果所述高频联系人的数量大于等于2,按照所述高频联系人的姓名拼音的排序后进行置顶显示。
根据本公开实施例的第二方面,提供一种通讯录的联系人管理系统,包括:第一获取模块,用于获取所述通讯录上每个联系人的总通话次数;第二获取模块,用于根据每个联系人的总通话次数,获取高频联系人;显示模块,用于在所述通讯录中以置顶的方式显示所述高频联系人。
可选地,所述第一获取模块包括:获取所述通讯录上每个联系人在最近的设定天数内的总通话次数。
可选地,所述第一获取模块包括:日统计单元,用于统计所述通讯录上每个联系人的日通话次数;计算单元,用于每日累加所述通讯录上每个联系人的日通话次数以获得所述通讯录上每个联系人在最近的设定天数内的总通话次数。
可选地,所述日统计单元包括:在产生通话记录时,对应修改所述通讯录上对应的联系人的日通话次数。
可选地,所述日统计单元包括:针对所述通讯录的联系人管理系统中的每个联系人,建立一个触发器,每个触发器和一个计数器关联,所述触发器在所述联系人呼入或被呼叫时触发,通过所述计数器进行自增操作,以获得对应的联系人的日通话次数。
可选地,所述第二获取模块包括:根据每个联系人的总通话次数排序;以及获取总通话次数最多的至少一个联系人作为高频联系人。
可选地,所述第二获取模块包括:根据每个联系人的总通话次数排序;以及将总通话次数超过设定阈值的至少一个联系人作为高频联系人。
可选地,所述在所述通讯录中以置顶的方式显示所述高频联系人包括:如果所述高频联系人的数量大于等于2,则在所述通讯录以置顶的方式显示时,按照所述高频联系人的姓名拼音的排序后进行显示。
本公开实施例提供的联系人管理方法,用于通讯录,通过获取通讯录上每个联系人的总通话次数获取高频联系人,将高频联系人以置顶的方式显示,从而帮助用户及时找到高频联系人,满足了用户在特殊应用场景下的个性化需求。
附图说明
通过参照以下附图对本公开实施例的描述,本公开实施例的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是根据本公开实施例的通讯录的联系人管理方法的流程图;
图2是根据本公开另一实施例的通讯录的联系人管理方法的流程图;
图3是根据本公开实施例的先进先出的消息队列的示意图;
图4是根据本公开实施例的循环单向链表的示意图;
图5是根据本公开另一实施例的通讯录的联系人管理方法的流程图;
图6是根据本公开实施例的通讯录的联系人管理系统的结构图;
图7是根据本公开另一实施例的通讯录的联系人管理系统的结构图;
图8是根据本公开实施例的终端设备的示意图;
图9是根据本公开实施例的通讯录的联系人管理方法的计算机程序产品的结构示意图。
具体实施方式
以下基于实施例对本公开实施例进行描述,但是本公开实施例并不仅仅限于这些实施例。在下文对本公开实施例的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开实施例。为了避免混淆本公开实施例的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
附图中的流程图、框图图示了本公开实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个、程序段或仅仅是一段代码,所述、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
图1是根据本公开实施例的通讯录的联系人管理方法的流程图。所述联系人管理方法包括步骤101-103。
在步骤101中,获取通讯录上每个联系人的总通话次数。
通讯录中存储有多个联系人信息。对于每个联系人,计算该联系人的总通话次数。可以通过多种方式计算获得联系人的总通话次数。例如,可以实时计算每个联系人的总通话次数,即每个联系人产生一个通话记录时,总通话次数立即增加1。或者,每日统计每个联系人当日的通话次数,并将联系人每日的通话次数累加获得总通话次数。优选地,统计每个联系人最近的设定天数内的总通话次数。例如,设定天数为30天,统计时,统计最近的30天的总通话次数。
在步骤102中,根据每个联系人的总通话次数,获取高频联系人。
对于通讯录上的每个联系人,比较他们的总通话次数,从中获取总通话次数最多的联系人作为高频联系人,也可以通过一个设定阈值,获取超过该设定阈值的联系人作为高频联系人。所以高频联系人可以为一个或多个联系人。
在步骤103中,在通讯录中以置顶的方式显示高频联系人。
将高频联系人显示在通讯录的显示界面的顶部。可选地,将通讯录的显示界面分为两个显示区域,上面区域显示高频联系人的名称,下面区域显示按照姓名排序后的联系人名称。
本公开实施例提供的联系人管理方法,根据通讯录上每个联系人的总通话次数确定高频联系人,以置顶的方式显示高频联系人,满足了用户需要即时找到高频联系人的需求。
图2是根据本公开实施例的通讯录的联系人管理方法的流程图。所述联系人管理方法包括步骤200-203。
在步骤200中,统计通讯录上每个联系人的日通话次数。
每个联系人的日通话次数可以通过实时计算或当日统计获得。实时计算为当联系人产生一个通话记录时,将该联系人当日的日通话次数加1。当日统计获得为在每日日终时(每日0时),统计该联系人当日的通话次数。
在步骤201中,每日累加通讯录上每个联系人的日通话次数以获得通讯录上每个联系人在最近的设定天数内的总通话次数。
可选地,设置一个设定天数,例如30天,每日日终时将通讯录上每个联系人的最近30天的日通话次数相加,得到通讯录上每个联系人最近30天的总通话次数。
在步骤202中,根据每个联系人的总通话次数,获取高频联系人。
对于通讯录上的每个联系人,比较他们的总通话次数,从中获得通话次数较多的一个或多个联系人作为高频联系人,也可以通过一个设定阈值,获取超过该设定阈值的联系人作为高频联系人。所以高频联系人可以为一个或多个联系人。
在步骤203中,在通讯录中以置顶的方式显示高频联系人。
将高频联系人显示在通讯录的显示界面的顶部。可选地,在通讯录的显示界面上分为两个显示区域,上面区域显示高频联系人的名称,下面区域显示按照姓名排序后的联系人名称。
在一个可选的实施方式中,可以每日统计一次当日的每个联系人的日通话次数,并每日累加一次获得该联系人在最近的设定天数内的总通话次数,通过这种统计方式,能够减轻系统的性能压力,从而使该联系人管理方法更具应用价值。
在另一个可选的实施方式中,通过实时计算获得每个联系人的日通话次数,即在产生通话记录时,对应修改通讯录上对应的联系人的日通话次数。进一步地,可以利用触发器原理实现对应的联系人的日通话次数的修改。对于通讯录中的每个联系人,建立一个触发器,每个触发器和一个计数器关联,触发器在联系人呼入或被呼叫时触发,通过计数器进行自增操作,在日终时,计数器的数值为对应的联系人当日的日通话次数。进一步地,在日终时,将每个触发器的计数器的数值置为零,以便于计算下一日的日通话次数。
在日通话次数的计算中,可选地,通过存储单元存储所有的联系人的日通话次数。存储单元的容量根据通讯录上的联系人总数和需要存储的天数进行确定。例如,假设通讯录的联系人数量的上限为500人,每个联系人的日通话次数需要的字节数为48个字节,需要存储的天数为31天,则500*48*31=744000个字节。也就是说,存储单元最多存储所有联系人31天的日通话次数的数据。因此,超过一定天数的数据应该归档或删除。为了使存储单元更好地存储联系人的日通话次数的数据,存储单元优选为先进先出的消息队列或单向循环链表。
先进先出的消息队列能够保证按照时间顺序处理日通话次数。如图3所示,消息队列被设定为存储所有联系人在最近31天内的日通话次数,a1-a31分别存储所有联系人在每日的日通话次数,当过了31天后,新加入的数据会挤掉第一天的数据,从而使消息队列中永远保留最近31天的通话数据。从而根据最近的通话数据计算确定的高频联系人也最具有实用价值。
当存储单元采用循环单向链表时,循环链表的一个节点被设定为存储所有联系人一日的通话次数数据。如图4所示,循环链表首尾相接,被设定为存储所有联系人在最近31天内的通话次数数据,a1-a31分别代表每天的所有联系人的通话次数数据,当过了31天后,新加入的数据会覆盖掉第一天的数据,从而使消息队列中永远保留最近31天的日通话次数的数据。
图5是根据本公开另一实施例的通讯录的联系人管理方法的流程图。所述联系人管理方法包括步骤501-506。
在步骤501中,获取通讯录上每个联系人的总通话次数。
可以通过多种方式计算获得联系人的总通话次数。例如,可以实时计算每个联系人的总通话次数,即每个联系人产生一个通话记录时,总通话次数立即增加1。或者,每日统计每个联系人当日的通话次数,并将联系人每日的通话次数累加获得总通话次数。
在步骤502中,根据每个联系人的总通话次数排序。
按照从大到小或从小到大的顺序将每个联系人的总通话次数排序。
在步骤503中,获取总通话次数最多的至少一个联系人作为高频联系人。
根据上述的排序结果,获得总通话次数最多的联系人作为高频联系人。
在步骤504中,高频联系人的数量大于等于2。如果高频联系人的数量大于或等于2,执行步骤505,否则执行步骤506。
在步骤505中,将高频联系人按照姓名拼音排序后进行置顶显示。
将两个或两个以上的高频联系人按照姓名拼音排序后,并按照排序的结果进行置顶显示。
在步骤506中,将高频联系人置顶显示。
对于只有一个的高频联系人,直接置顶显示。
本公开实施例提供的联系人管理方法,针对多个高频联系人,将高频联系人按照姓名拼音排序后置顶显示。
在另一个实施例中,在获取总通话次数后,将超过设定阈值的联系人作为高频联系人,在置顶显示时,先将高频联系人按照总通话次数排序,再将相同的总通话次数的高频联系人按照姓名拼音排序。
图6是根据本公开实施例的通讯录的联系人管理系统的结构图。所述通讯录的联系人管理系统包括第一获取模块601、第二获取模块602和显示模块603。
第一获取模块601用于获取通讯录上每个联系人的总通话次数。可以通过多种方式计算获得联系人的总通话次数。例如,可以实时计算每个联系人的总通话次数,即每个联系人产生一个通话记录时,总通话次数立即增加1。或者,每日统计每个联系人当日的通话次数,并将联系人每日的通话次数累加获得总通话次数。
第二获取模块602用于根据每个联系人的总通话次数,获取高频联系人。对于通讯录上的每个联系人,比较他们的总通话次数,从中获取总通话次数最多的联系人作为高频联系人,也可以通过一个阈值,获取超过该阈值的联系人作为高频联系人。因此高频联系人可以为一个联系人或多个联系人。
显示模块603用于在通讯录中以置顶的方式显示高频联系人。如果是高频联系人是一个联系人直接置顶显示,如果联系人是多个联系人,可以先按照总通话次数排序,再按照联系人姓名拼音的首字母进行排序后显示。
图7是根据本公开实施例的通讯录的联系人管理系统的结构图。所述通讯录的联系人管理系统包括第一获取模块701、第二获取模块702和显示模块703。
第一获取模块701用于获取通讯录上每个联系人的总通话次数。可以通过多种方式计算获得联系人的总通话次数。例如,可以实时计算每个联系人的总通话次数,即每个联系人产生一个通话记录时,总通话次数立即增加1。或者,每日统计每个联系人当日的通话次数,并将联系人每日的通话次数累加获得总通话次数。
可选地,第一获取模块701包括日统计单元7011和计算单元7012。日统计单元7011用于统计通讯录上每个联系人的日通话次数。计算单元7012用于每日累加通讯录上每个联系人的日通话次数以获得通讯录上每个联系人在最近的设定天数内的总通话次数。
日统计单元7011进一步包括:在产生通话记录时,对应修改通讯录上对应的联系人的日通话次数。其中,在产生通话记录时,修改通讯录上对应的联系人的日通话次数为:针对通讯录的联系人管理系统中的每个联系人,建立一个触发器,每个触发器和一个计数器关联,触发器在联系人呼入或被呼叫时触发,通过计数器进行自增操作,以获得对应的联系人的日通话次数。
第二获取模块702用于根据每个联系人的总通话次数,获取高频联系人。对于通讯录上的每个联系人,比较他们的总通话次数,从中获取总通话次数最多的联系人作为高频联系人,也可以通过一个阈值,获取超过该阈值的联系人作为高频联系人。因此高频联系人可以为一个联系人或多个联系人。
显示模块703用于在通讯录中以置顶的方式显示高频联系人。如果是高频联系人是一个联系人直接置顶显示,如果联系人是多个联系人,可以先按照总通话次数排序,再按照联系人姓名拼音的首字母进行排序后显示。
在上述通讯录的联系人管理系统中使用的存储单元可以采用多种形式。优选地,采用先进先出的消息队列存储所有联系人的日通话次数的数据,消息队列的容量被设定为能存储所有联系人在设定天数内的每日的通话次数。或者,采用循环单向链表存储所有联系人的日通话次数的数据,该循环链表的一个节点被设定为存储所有联系人一日的通话次数。
图8是根据本公开实施例的一种移动终端的结构图。参考图8,一种终端设备80,包括通过总线连接的至少一个处理器801和存储器802。存储器802存储有各种计算机指令,处理器801从存储器802中读取一组指令,执行该指令以完成以下的操作:获取通讯录上每个联系人的总通话次数;根据每个联系人的总通话次数,获取高频联系人;在通讯录中以置顶的方式显示高频联系人。
图9是根据本公开实施例的联系人管理方法的计算机程序产品的结构示意图。如图9所示,本公开实施例的计算机程序产品90,可以包括信号承载介质901。信号承载介质901为指令载体,可以包括一个或多个指令9011,指令9011在被例如处理器执行时,可以完成上述实施例中描述的功能。例如,指令9011被执行以完成以下的功能:获取通讯录上每个联系人的总通话次数;根据每个联系人的总通话次数,获取高频联系人;在通讯录中以置顶的方式显示高频联系人。
在一些实现中,信号承载介质901可以包括计算机可读介质9012,诸如但不限于硬盘驱动器、压缩盘(CD)、数字通用盘(DVD)、数字带、存储器等。在一些实现中,信号承载介质901可以包括可记录介质9013,诸如但不限于存储器、读/写(R/W)CD、R/W DVD等。在一些实现中,信号承载介质901可以包括通信介质9014,诸如但不限于数字和/或模拟通信介质(例如,光纤线缆、波导、有线通信链路、无线通信链路等)。
本公开实施例的计算机程序产品,获取通讯录上每个联系人的总通话次数;根据每个联系人的总通话次数,获取高频联系人;在通讯录中以置顶的方式显示高频联系人,从而满足了用户即时获取高频联系人的需求。
根据本公开实施例的系统和方法可以部署在单个或多个服务器上。例如,可以将不同的模块分别部署在不同的服务器上,形成专用服务器。或者,可以在多个服务器上分布式部署相同的功能单元、或系统,以减轻负载压力。所述服务器包括但不限于在同一个局域网以及通过Internet连接的多个PC机、PC服务器、刀片机、超级计算机等。
以上所述仅为本公开实施例的优选实施例,并不用于限制本公开实施例,对于本领域技术人员而言,本公开实施例可以有各种改动和变化。凡在本公开实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开实施例的保护范围之内。