一种通讯信息收集方法和装置与流程

文档序号:12364055阅读:352来源:国知局
一种通讯信息收集方法和装置与流程

本发明涉及通信技术,尤其涉及一种通讯信息收集方法和装置。



背景技术:

即时通讯(Instant Messaging,简称IM)是一个终端服务,允许两人或多人使用网路即时的传递文字讯息、档案、语音与视频交流。随着通讯终端的大量普及和终端应用软件的不断改进,大多数终端用户会使用安装在终端上的即时通讯应用软件进行即时通讯和社交,改变了以往终端用户主要利用终端上的短信功能和电话功能进行通讯的方式,常用的即时通讯应用有QQ,微信,百度Hi,Whatsapp,Viber等。因此,对于大多数终端用户来说,用户完整的通讯信息不仅包括通过短信和电话功能进行沟通的通讯信息,还应包括通过即时通讯应用软件进行沟通的通讯信息。

在大数据时代,为了能更好地对用户提供便利,需要对到用户完整的通讯信息进行处理和分析。在收集用户的通讯信息时,可以通过访问终端操作系统内置的数据库,从而获取到用户通过短信和电话功能进行沟通的通讯信息。而即时通讯应用软件是一种安装在终端上的第三方应用软件,由于权限的限制,除非是获取到操作系统的root权限,否则无法访问第三方应用软件的内部数据库,从而无法收集到用户通过即时通讯应用软件交流的通讯信息,也就无法收集到用户完整的通讯信息。



技术实现要素:

本发明的目的在于,针对现有技术中无法获取终端用户完整的通讯信息的问题,提出一种通讯信息收集方法和装置,从而可以对到用户完整的通讯信息进行处理和分析。

为实现上述目的,本发明提供一种通讯信息收集方法,包括:

通过终端操作系统提供的通知许可服务监听即时通讯应用软件向终端用户发起的通知消息;所述通知消息用于通知所述终端用户已收到对端用户发送的消息;

在监听到即时通讯应用软件发起通知消息时,抓取所述通知消息;

从所述通知消息中解析出第一通讯信息;所述第一通讯信息至少包括以下内容:所述通知消息的通讯内容,以及与即时通讯应用软件绑定的所述对端用户的终端号码;

根据所述对端用户的终端号码,将所述第一通讯信息存储到通讯信息数据库,所述通讯信息数据库还包括从所述终端操作系统内置的数据库中获取的第二通讯信息,所述第二通讯信息包括所述终端用户利用所述终端上的短信功能和电话功能进行通讯的通讯信息。

进一步地,根据所述对端用户的终端号码,将所述第一通讯信息存储到通讯信息数据库具体为:

根据所述第一通讯信息中的所述对端用户的终端号码,在第一数据库中查找与所述第一通讯信息关联的通讯信息,并与查找到的通讯信息合并存储到所述第一数据库中,所述第一数据库用于存储从所述通知消息中提取的所述第一通讯信息;

根据所述对端用户的终端号码,将所述第一数据库与第二数据库进行整合,形成通讯信息数据库,所述第二数据库为所述终端操作系统内置的用于存储所述第二通讯信息的数据库。

进一步地,

根据所述对端用户的终端号码,将所述第一通讯信息存储到通讯信息数据库具体为:

根据所述第一通讯信息中的所述对端用户的终端号码,在所述通讯信息数据库中查找与所述对端用户的终端号码关联的通讯信息,并与查找到的通讯信息合并存储到所述通讯信息数据库;

所述方法还包括:

当第二数据库被添加时,从所述第二数据库中提取被添加的第二通讯信息,根据所述第二通讯信息中的所述对端用户的终端号码,在所述通讯信息数据库中查找与所述对端用户的终端号码关联的通讯信息,并与查找到的通讯信息合并存储到所述通讯信息数据库,所述第二数据库为所述终端操作系统内置的用于存储所述第二通讯信息的数据库。

进一步地,在根据所述对端用户的终端号码,将所述第一通讯信息存储到通讯信息数据库之前,所述方法还包括:

在所述第一通讯信息中添加第一通讯类别标识,用于标识所述第一通讯信息为所述终端用户通过即时通讯应用软件进行通讯时的通讯信息;

在所述第二通讯信息中添加第二通讯类别标识,用于标识所述第二通讯信息为所述终端用户利用所述终端上的短信功能和电话功能进行通讯的通讯信息。

本发明还提供一种通讯信息收集装置,包括:

监听模块,用于通过终端操作系统提供的通知许可服务监听即时通讯应用软件向终端用户发起的通知消息;所述通知消息用于通知所述终端用户已收到对端用户发送的消息;

抓取模块,用于在监听到即时通讯应用软件发起通知消息时,抓取所述通知消息;

解析模块,用于从所述通知消息中解析出第一通讯信息;所述第一通讯信息至少包括以下内容:所述通知消息的通讯内容,以及与所述即时通讯应用软件绑定的所述对端用户的终端号码;

关联模块,用于根据所述对端用户的终端号码,将所述第一通讯信息存储到通讯信息数据库,所述通讯信息数据库还包括从所述终端操作系统内置的数据库中获取的第二通讯信息,所述第二通讯信息包括所述终端用户利用所述终端上的短信功能和电话功能进行通讯的通讯信息。

进一步,所述关联模块,具体用于根据所述第一通讯信息中的所述对端用户的终端号码,在第一数据库中查找与所述第一通讯信息关联的通讯信息,并与查找到的通讯信息合并存储到所述第一数据库中,所述第一数据库用于存储从所述通知消息中提取的所述第一通讯信息;根据所述对端用户的终端号码,将所述第一数据库与第二数据库进行整合,形成通讯信息数据库,所述第二数据库为所述终端操作系统内置的用于存储所述第二通讯信息的数据库。

进一步,所述关联模块,具体用于根据所述第一通讯信息中的所述对端用户的终端号码,在所述通讯信息数据库中查找与所述对端用户的终端号码关联的通讯信息,并与查找到的通讯信息合并存储到所述通讯信息数据库;当第二数据库被添加时,从所述第二数据库中提取被添加的第二通讯信息,根据所述第二通讯信息中的所述对端用户的终端号码,在所述通讯信息数据库中查找与所述对端用户的终端号码关联的通讯信息,并与查找到的通讯信息合并存储到所述通讯信息数据库,所述第二数据库为所述终端操作系统内置的用于存储所述第二通讯信息的数据库。

进一步,所述装置还包括:

标识模块,用于在根据所述对端用户的终端号码,将所述第一通讯信息存储到通讯信息数据库之前,在所述第一通讯信息中添加第一通讯类别标识,用于标识所述第一通讯信息为所述终端用户通过即时通讯应用软件进行通讯时的通讯信息;在所述第二通讯信息中添加第二通讯类别标识,用于标识所述第二通讯信息为所述终端用户利用所述终端上的短信功能和电话功能进行通讯的通讯信息。

本发明通过终端操作系统提供的通知许可服务实时获取所有类型的即时通讯应用软件的通知消息,从通知消息中解析到终端用户通过即时通讯应用软件进行通讯时的第一通讯信息,不需要申请终端操作系统的根访问权限即可获取第一通讯信息。解析到第一通讯信息后,与终端用户利用终端上的短信功能和电话功能进行通讯的第二通讯信息共同存储在通讯信息数据库中,因而,实现了收集终端用户完整的通讯信息的目的。

附图说明

图1为本发明提供的一种通讯信息收集方法流程图;

图2为本发明提供的另一种通讯信息收集方法流程图;

图3为本发明提供的又一种通讯信息收集方法流程图;

图4为本发明提供的一种通讯信息收集装置结构示意图;

图5为本发明提供的另一种通讯信息收集装置结构示意图。

具体实施方式

本发明提供的以下方法实施例中,各步骤的执行主体可以是运行于终端操作系统之上独立的应用软件,也可以是为第三方即时通讯应用软件设计的插件。

图1为本发明提供的一种通讯信息收集方法流程图。如图1所示,本实施例包括:

步骤101:通过终端操作系统提供的通知许可服务监听即时通讯应用软件向终端用户发起的通知消息;通知消息用于通知终端用户已收到对端用户发送的消息。

所有类型的即时通讯应用软件发起通知时,都可以通过通知许可服务都可以监听到。举例来说,基于Linux的安卓系统开放了一个名为NotificationListenerService的服务,NotificationListenerService是通过系统调起的服务。当有应用发起通知的时候,系统会将通知的动作和信息回调给NotificationListenerService。也就是说,当系统发现某应用产生通知或者用户删除某通知,都会回调服务NotificationListenerService的两个函数:onNotificationPosted和onNotificationRemoved,函数的参数StatusBarNotification包含着该通知的具体信息。

步骤102:在监听到即时通讯应用软件发起通知消息时,抓取通知消息。

步骤103:从通知消息中解析出第一通讯信息;第一通讯信息至少包括以下内容:通知消息的通讯内容,以及与即时通讯应用软件绑定的对端用户的终端号码。

从通知消息中提取第一通讯信息,不需要申请终端操作系统的根访问权限,举例来说,对于安卓系统,不需要获取root访问权限即可获取到第一通讯信息。

大多数即时通讯应用软件的通知消息至少包括包名、通讯标题、对端用户名、即时通讯应用软件的唯一标识、通讯内容,以及与即时通讯应用软件绑定的对端用户的终端号码,终端号码可以是通常所指的电话号码或手机号码。因此,从通知消息中提取的第一通讯信息除通讯内容和对端用户的终端号码之外,还可以包括通知消息的包名、通讯标题、对端用户名和即时通讯应用软件的唯一标识。

步骤104:根据对端用户的终端号码,将第一通讯信息存储到通讯信息数据库,通讯信息数据库还包括从终端操作系统内置的数据库中获取的第二通讯信息,第二通讯信息包括终端用户利用终端上的短信功能和电话功能进行通讯的通讯信息。

其中,第二通讯信息可以直接从终端操作系统内置的数据库中直接获得。举例来说,基于Linux的安卓系统来说,对于终端用户使用电话功能进行通讯的通讯信息可以从操作系统内置的Contacts数据库中获取,对于终端用户使用短信功能进行通讯的通讯信息可以直接从操作系统内置的Mms数据库中获取。由于,第二通讯信息包括终端用户利用终端上的短信功能和电话功能进行通讯的通讯信息,第二通讯信息通常以对端用户的终端号码为索引进行存储。而第一通讯信息中也包括与即时通讯应用软件绑定的对端用户的终端号码,因此,在通讯信息数据库中可以通过对端用户的终端号码将第一通讯信息和第二通讯信息进行关联存储。

将第一通讯信息存储到通讯信息数据库时,可以通过两种方法来实现。一种方法可以是,先根据对端用户的终端号码将第一通讯信息形成独立的数据库,然后再根据对端用户的终端号码,将第一通讯信息形成独立的数据库与操作系统内置的用于存储第二通讯信息的数据库进行整合。

另一种方法可以是,先根据对端用户的终端号码将提取的第一通讯信息实时添加到通讯信息数据库中,同时操作系统内置的用于存储第二通讯信息的数据库被添加时,将新添加的内容实时更新到通讯信息数据库,从而将两种通讯信息动态添加到通讯信息数据库中。

进一步地,为了便于区分是利用即时通讯应用软件的通讯信息还是利用短信或电话功能的通讯信息,可以为解析出的通讯信息增加通讯类型标识。具体可以是,在根据对端用户的终端号码,将第一通讯信息存储到通讯信息数据库之前,在第一通讯信息中添加第一通讯类别标识,用于标识第一通讯信息为终端用户通过即时通讯应用软件进行通讯时的通讯信息;

在根据对端用户的终端号码,将第一通讯信息存储到通讯信息数据库之前,在第二通讯信息中添加第二通讯类别标识,用于标识第二通讯信息为终端用户利用终端上的短信功能和电话功能进行通讯的通讯信息。

本实施例提供的方法,通过终端操作系统提供的通知许可服务实时获取所有类型的即时通讯应用软件的通知消息,从通知消息中解析到终端用户通过即时通讯应用软件进行通讯时的第一通讯信息,不需要申请终端操作系统的根访问权限即可获取第一通讯信息。解析到第一通讯信息后,与终端用户利用终端上的短信功能和电话功能进行通讯的第二通讯信息共同存储在通讯信息数据库中,因而,本实施例实现了收集终端用户完整的通讯信息的目的。

图2为本发明提供的另一种通讯信息收集方法流程图。以下步骤204和步骤205为步骤104的进一步细化。如图2所示,本实施例包括:

步骤201:通过终端操作系统提供的通知许可服务监听即时通讯应用软件向终端用户发起的通知消息;通知消息用于通知终端用户已收到对端用户发送的消息。

步骤202:在监听到即时通讯应用软件发起通知消息时,抓取通知消息。

步骤203:从通知消息中解析出第一通讯信息;第一通讯信息至少包括以下内容:通讯内容、包名、通讯标题、即时通讯应用软件的唯一标识、对端用户名以及与即时通讯应用软件绑定的对端用户的终端号码。

步骤204:根据第一通讯信息中的对端用户的终端号码,在第一数据库中查找与第一通讯信息关联的通讯信息,并与查找到的通讯信息合并存储到第一数据库中,第一数据库用于存储从通知消息中提取的第一通讯信息;

第一数据库中第一通讯信息以对端用户的终端号码为索引进行存储。

初始化时,第一数据库为空,在运行一段时间后,在第一数据库中已经存储有第一通讯信息,有可能存储的第一通讯信息的对端用户与当前第一通讯信息的对端用户是同一人,可以将对端用户的终端号码相同的第一通讯信息进行关联,并合并存储。例如,当前从通知消息中解析出的第一通讯信息为:终端号码为11111、通讯内容为x1x1x1、通讯标题为Y1Y1Y1、即时通讯应用软件的唯一标识为WEIXIN;根据终端号码1111在第一数据库中查找到与当前第一通讯信息相关联的通讯信息为:终端号码为11111、通讯内容为x2x2x2、通讯标题为Y2Y2Y2、即时通讯应用软件的唯一标识为WEIXIN,将这两条第一通讯信息合并存储。

步骤205:根据对端用户的终端号码,将第一数据库与第二数据库进行整合,形成通讯信息数据库,第二数据库为终端操作系统内置的用于存储第二通讯信息的数据库,第二通讯信息为终端用户利用终端上的短信功能和电话功能进行通讯的通讯信息。

第二数据库中存储有终端用户利用终端上的短信功能和电话功能进行通讯的通讯信息,这些通讯信息通常以对端用户的终端号码为索引进行存储。第一数据库中第一通讯信息也以对端用户的终端号码为索引进行存储,可以以对端用户的终端号码为索引,将第一数据库和第二数据库进行整合,形成以对端用户的终端号码为索引的存储终端用户完整通讯信息的通讯信息数据库。

本实施例提供的方法,在整合第一通讯信息与第二通讯信息时,先根据对端用户的终端号码将第一通讯信息形成独立的数据库即第一数据库,然后再根据对端用户的终端号码,将第一通讯信息形成独立的数据库与操作系统内置的用于存储第二通讯信息的数据库进行整合。

图3为本发明提供的另一种通讯信息收集方法流程图。以下步骤304和步骤305为步骤104的进一步细化。如图3所示,本实施例包括:

步骤301:通过终端操作系统提供的通知许可服务监听即时通讯应用软件向终端用户发起的通知消息;通知消息用于通知终端用户已收到对端用户发送的消息。

步骤302:在监听到即时通讯应用软件发起通知消息时,抓取通知消息。

步骤303:从通知消息中解析出第一通讯信息;第一通讯信息至少包括以下内容:通讯内容、包名、通讯标题、即时通讯应用软件的唯一标识、对端用户名以及与即时通讯应用软件绑定的对端用户的终端号码。

步骤304:根据第一通讯信息中的对端用户的终端号码,在通讯信息数据库中查找与对端用户的终端号码关联的通讯信息,并与查找到的通讯信息合并存储到通讯信息数据库;

步骤305:当第二数据库被添加时,从第二数据库中提取被添加的第二通讯信息,根据第二通讯信息中的对端用户的终端号码,在通讯信息数据库中查找与对端用户的终端号码关联的通讯信息,并与查找到的通讯信息合并存储到通讯信息数据库,第二数据库为终端操作系统内置的用于存储第二通讯信息的数据库。

在实际情况中,步骤304和步骤305没有先后执行的逻辑关系,执行的先后顺序根据抓取通知消息和第二数据库被添加的先后顺序有关。

本实施例在整合第一通讯信息与第二通讯信息时,先根据对端用户的终端号码将提取的第一通讯信息实时添加到通讯信息数据库中,同时操作系统内置的用于存储第二通讯信息的数据库被添加时,将新添加的内容实时更新到通讯信息数据库,从而将两种通讯信息动态添加到通讯信息数据库中。

图4为本发明提供的一种通讯信息收集装置结构示意图。如图4所示,本实施例提供的装置包括:

监听模块41,用于通过终端操作系统提供的通知许可服务监听即时通讯应用软件向终端用户发起的通知消息;所述通知消息用于通知所述终端用户已收到对端用户发送的消息;

抓取模块42,用于在监听到即时通讯应用软件发起通知消息时,抓取所述通知消息;

解析模块43,用于从所述通知消息中解析出第一通讯信息;所述第一通讯信息至少包括以下内容:所述通知消息的通讯内容,以及与所述即时通讯应用软件绑定的所述对端用户的终端号码;

关联模块44,用于根据所述对端用户的终端号码,将所述第一通讯信息存储到通讯信息数据库,所述通讯信息数据库还包括从所述终端操作系统内置的数据库中获取的第二通讯信息,所述第二通讯信息包括所述终端用户利用所述终端上的短信功能和电话功能进行通讯的通讯信息。

本实施例提供的装置,通过终端操作系统提供的通知许可服务实时获取所有类型的即时通讯应用软件的通知消息,从通知消息中解析到终端用户通过即时通讯应用软件进行通讯时的第一通讯信息,不需要申请终端操作系统的根访问权限即可获取第一通讯信息。解析到第一通讯信息后,与终端用户利用终端上的短信功能和电话功能进行通讯的第二通讯信息共同存储在通讯信息数据库中,因而,本实施例实现了收集终端用户完整的通讯信息的目的。

进一步,所述关联模块44,具体用于根据所述第一通讯信息中的所述对端用户的终端号码,在第一数据库中查找与所述第一通讯信息关联的通讯信息,并与查找到的通讯信息合并存储到所述第一数据库中,所述第一数据库用于存储从所述通知消息中提取的所述第一通讯信息;根据所述对端用户的终端号码,将所述第一数据库与第二数据库进行整合,形成通讯信息数据库,所述第二数据库为所述终端操作系统内置的用于存储所述第二通讯信息的数据库。

本实施例在整合第一通讯信息与第二通讯信息时,先根据对端用户的终端号码将第一通讯信息形成独立的数据库即第一数据库,然后再根据对端用户的终端号码,将第一通讯信息形成独立的数据库与操作系统内置的用于存储第二通讯信息的数据库进行整合。

进一步,所述关联模块44,具体用于根据所述第一通讯信息中的所述对端用户的终端号码,在所述通讯信息数据库中查找与所述对端用户的终端号码关联的通讯信息,并与查找到的通讯信息合并存储到所述通讯信息数据库;当第二数据库被添加时,从所述第二数据库中提取被添加的第二通讯信息,根据所述第二通讯信息中的所述对端用户的终端号码,在所述通讯信息数据库中查找与所述对端用户的终端号码关联的通讯信息,并与查找到的通讯信息合并存储到所述通讯信息数据库,所述第二数据库为所述终端操作系统内置的用于存储所述第二通讯信息的数据库。

本实施例在整合第一通讯信息与第二通讯信息时,先根据对端用户的终端号码将提取的第一通讯信息实时添加到通讯信息数据库中,同时操作系统内置的用于存储第二通讯信息的数据库被添加时,将新添加的内容实时更新到通讯信息数据库,从而将两种通讯信息动态添加到通讯信息数据库中。

为了便于区分是利用即时通讯应用软件的通讯信息还是利用短信或电话功能的通讯信息,可以为解析出的通讯信息增加通讯类型标识。如图5所示,所述装置还包括:标识模块45。

标识模块45,用于在根据所述对端用户的终端号码,将所述第一通讯信息存储到通讯信息数据库之前,在所述第一通讯信息中添加第一通讯类别标识,用于标识所述第一通讯信息为所述终端用户通过即时通讯应用软件进行通讯时的通讯信息;在所述第二通讯信息中添加第二通讯类别标识,用于标识所述第二通讯信息为所述终端用户利用所述终端上的短信功能和电话功能进行通讯的通讯信息。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1