一种基于区块链技术的骚扰来电短信拦截方法及系统与流程

文档序号:12730274阅读:435来源:国知局
一种基于区块链技术的骚扰来电短信拦截方法及系统与流程

本发明涉及骚扰电话拦截领域。



背景技术:

骚扰电话和短信越来越多,没完没了的推销骚扰电话和短信,个人信息被人盗用;上述这些情况很多人都不陌生,有的深受其害;我们一般情况下都会使用一些软件拦截,例如腾讯手机管家,360手机卫士或是手机厂商自带的安全软件,骚扰电话打过来的时候进行提示,挂掉之后,在通讯记录里告诉我被多少人标记成了骚扰电话。目前这类防骚扰安全软件均需要后台数据库服务器支撑,所有被标记的骚扰电话都需要存储在中心数据库服务器,所有的数据鉴别和传输都要以软件提供商的服务器作为主节点,需要软件厂商的维护和数据服务才能完成功能。

2009年出现了区块链技术,将数据库的结构进行创新,把数据分成不同的区块,按一定顺序先后生成并记录下它在被创建期间发生的所有价值交换活动,所有区块汇总起来形成一个记录合集以前后顺连来呈现一套完整的数据。在区块(block)链(chain)技术中,数据以按时间顺序一个一个先后生成的电子记录的形式被永久储存下来,以链的方式组合在一起,以这种方式形成的数据库我们称之为区块链数据库。目前区块链技术在电信领域的应用基本还没有展开,用该技术拦截骚扰短信和电话可以保证认证的科学性与安全性,并可极大的降低系统的运行成本。



技术实现要素:

本发明提供一种基于区块链技术的骚扰来电短信拦截方法及系统,目的在于解决当前防骚扰拦截技术需要后台中心数据库服务器支撑,并以软件提供商的服务器为主节点实现拦截功能,拦截过程需要较高的维护成本的问题。

本发明解决上述技术问题的技术方案如下:

一种基于区块链技术的骚扰来电短信拦截方法,所述方法包括:

S1、根据通话内容判断当前手机所接听的电话是否为骚扰电话,当所接听电话为骚扰电话时根据预设的挂机时间进行挂机操作,并将该骚扰电话保存在本机的存储卡中作为临时数据文件;

S2、将骚扰电话发送至与本机相关联的所有手机终端,并根据其他手机终端所返回的信息对骚扰电话进行标记作为正式数据文件;

S3、定时将标记后作为正式数据文件的骚扰电话进行排序并打包为区块后发送至与本机相关联的所有手机终端;

S4、接收到区块的所有手机终端对区块进行认定并生成区块链。

在上述技术方案的基础上,本发明还可以做如下改进。

进一步,所述S2包括:

S21、将骚扰电话的电话号码传输到与本机相关联的所有手机终端;

S22、接收到电话号码的手机终端将接收到的电话号码与其预先设定在手机内部的骚扰电话号码进行比对,若接收到的电话号码已经存在预先设定的骚扰电话号码当中,则将该号码加上相应的信息状态广播至其他手机终端;

S23、S21中发送骚扰电话的电话号码的手机终端接收其他手机终端返回的信息状态,当该电话号码被至少一个手机终端设为骚扰电话并达到了预先设定的阈值参数额度,则将该号码的状态设置为骚扰电话,记录该电话号码被设置的次数并存储在本机中作为正式数据文件。

进一步,所述S3包括:

S31、定时将所有被标记为骚扰电话的号码数据排序然后打包为区块;

S32、计算打包后的号码数据的哈希散列;

S33、生成一个随机数,并在打包后的区块上标上处理时间;

S34、采用P2P传输方式将处理后的区块发送至与本机相关联的所有手机终端。

进一步,所述S4包括:

S41、与本机相关联的所有手机终端在收到区块后,生成随机字符串,判断随机字符串是否与预先设置的答案串相同,如果相同则认定接收到的区块为正式区块并向其他手机终端广播该区块,如果不相同则将接收到的区块抛弃并认定下一时刻接收到的其他区块;

S42、其他手机终端在接收到广播的正式区块后,判断该正式区块正确,并在手机终端中创建新的区块链,并在区块链尾部增添新的区块,将接收到的区块的哈希散列添加到增添的区块中;

S43、正式区块被接入到本地的区块链时要同时本地生成的区块进行比较,没有在该正式区块中的电话号码另外存储到正式数据文件中,留待下次区块生成时添加进去。

进一步,所述方法还包括骚扰电话号码查找的步骤,所述步骤包括:

Sa、在骚扰号码正式数据文件生成以及本地区块链生成后,将骚扰号码和本地区块链读入手机内存中;

Sb、对存入的骚扰号码进行排序然后放入二叉树或list;

Sc、当手机接到来电时,在手机内存中进行二分查找或find,如果该来电号码为骚扰号码时,则直接进行拦截并显示骚扰号码信息。

为了解决上述技术问题,本发明还提出了一种基于区块链技术的骚扰来电短信拦截系统,所述系统包括:

电话挂断存储模块,用于根据通话内容判断当前手机所接听的电话是否为骚扰电话,当所接听电话为骚扰电话时根据预设的挂机时间进行挂机操作,并将该骚扰电话保存在本机的存储卡中作为临时数据文件;

电话号码传输标记模块,用于将骚扰电话发送至与本机相关联的所有手机终端,并根据其他手机终端所返回的信息对骚扰电话进行标记作为正式数据文件;

定时发送模块,用于定时将标记后作为正式数据文件的骚扰电话进行排序并打包为区块后发送至与本机相关联的所有手机终端;

区块认定模块,用于接收到区块的所有手机终端对区块进行认定并生成区块链。

进一步,所述电话号码传输标记模块包括:

电话号码传输模块,用于将骚扰电话的电话号码传输到与本机相关联的所有手机终端;

号码对比模块,接收到电话号码的手机终端将接收到的电话号码与其预先设定在手机内部的骚扰电话号码进行比对,若接收到的电话号码已经存在预先设定的骚扰电话号码当中,则将该号码加上相应的信息状态广播至其他手机终端;

号码标记模块,用于电话号码传输模块中发送骚扰电话的电话号码的手机终端接收其他手机终端返回的信息状态,当该电话号码被至少一个手机终端设为骚扰电话并达到了预先设定的阈值参数额度,则将该号码的状态设置为骚扰电话,记录该电话号码被设置的次数并存储在本机中作为正式数据文件。

进一步,所述定时发送模块包括:

排序打包模块,用于定时将所有被标记为骚扰电话的号码数据排序然后打包为区块;

计算模块,用于计算打包后的号码数据的哈希散列;

随机数生成模块,用于生成一个随机数,并在打包后的区块上标上处理时间;

区块发送模块,用于采用P2P传输方式将处理后的区块发送至与本机相关联的所有手机终端。

进一步,所述区块认定模块包括:

区块广播模块,用于与本机相关联的所有手机终端在收到区块后,生成随机字符串,判断随机字符串是否与预先设置的答案串相同,如果相同则认定接收到的区块为正式区块并向其他手机终端广播该区块,如果不相同则将接收到的区块抛弃并认定下一时刻接收到的其他区块;

区块链生成模块,用于其他手机终端在接收到广播的正式区块后,判断该正式区块正确,并在手机终端中创建新的区块链,并在区块链尾部增添新的区块,将接收到的区块的哈希散列添加到增添的区块中;

比较模块,用于正式区块被接入到本地的区块链时要同时本地生成的区块进行比较,没有在该正式区块中的电话号码另外存储到正式数据文件中,留待下次区块生成时添加进去。

进一步,所述系统还包括号码查找模块,用于查找骚扰电话号码,所述号码查找模块包括:

读入内存模块,用于在骚扰号码正式数据文件生成以及本地区块链生成后,将骚扰号码和本地区块链读入手机内存中;

号码排序模块,用于对存入的骚扰号码进行排序然后放入二叉树或list;

拦截模块,用于当手机接到来电时,在手机内存中进行二分查找或find,如果该来电号码为骚扰号码时,则直接进行拦截并显示骚扰号码信息。

本发明的有益效果是:区块链中每一笔数据交换的传播都采用分布式的结构,根据P2P网络层协议,消息由单个节点被直接发送给全网其他所有的节点,这里的节点就是移动网络中的手机终端。区块链不需要为每一个需要拦截骚扰电话的用户预留一个特定的位置,而是通过自愿原则来建立一套人人都可以参与记录信息的分布式记账体系,从而将记录的责任分散化,由相关联的所有手机终端的使用者共同记录。

区块链技术让数据库中的所有数据均存储于所有的手机节点中,并实时更新。完全去中心化的结构设置使数据能实时记录,并在每一个参与数据存储的网络节点中更新,可以极大的提高数据的安全性。

附图说明

图1为本发明实施例所述的基于区块链技术的骚扰来电短信拦截方法的流程图;

图2为本发明实施例所述的步骤S2的流程图;

图3为本发明实施例所述的步骤S3的流程图;

图4为本发明实施例所述的步骤S4的流程图;

图5为本发明实施例所述的骚扰电话号码查找的步骤流程图;

图6为本发明实施例所述的手机终端之间数据传输的原理示意图;

图7为本发明实施例所述的基于区块链技术的骚扰来电短信拦截系统的原理示意图;

图8为本发明实施例所述的电话号码传输标记模块的原理示意图;

图9为本发明实施例所述的定时发送模块的原理示意图;

图10为本发明实施例所述的区块认定模块的原理示意图;

图11为本发明实施例所述的号码查找模块的原理示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

区块链数据库是系统内所有节点共享的交易数据库,这些节点基于价值交换协议参与到区块链的网络中来用区块方式保存原本存放在中心服务器上骚扰电话数据,每一个区块上记录的骚扰电话是上一个区块形成之后、该区块被创建前发生的所有数据交换活动,这个特点保证了数据库的完整性;在绝大多数情况下,一旦新区块完成后被加入到区块链的最后,则此区块的数据记录就再也不能改变或删除。这个特点保证了数据库的严谨性,无法被篡改的特性。以区块链技术实现拦截骚扰电话没有中心存储、认证计算与硬件设备,系统的运行依靠链上的每个节点,应用系统的维护手段和费用变得极其简单和低廉,骚扰电话的认证方式也变得更加科学。

基于以上区块链的特点,本实施例提出一种基于区块链技术的骚扰来电短信拦截方法,通过采用区块链技术用来实现一个去中心化,并确保骚扰电话认证的严谨性、认证过程可追踪性的数位体系,所述方法如图1所示包括:

S1、根据通话内容判断当前手机所接听的电话是否为骚扰电话,当所接听电话为骚扰电话时根据预设的挂机时间进行挂机操作,并将该骚扰电话保存在本机的存储卡中作为临时数据文件;

S2、将骚扰电话发送至与本机相关联的所有手机终端,并根据其他手机终端所返回的信息对骚扰电话进行标记作为正式数据文件;

如图2所示,所述S2包括:

S21、将骚扰电话的电话号码传输到与本机相关联的所有手机终端;

S22、接收到电话号码的手机终端将接收到的电话号码与其预先设定在手机内部的骚扰电话号码进行比对,若接收到的电话号码已经存在预先设定的骚扰电话号码当中,则将该号码加上相应的信息状态广播至其他手机终端;

S23、S21中发送骚扰电话的电话号码的手机终端接收其他手机终端返回的信息状态,当该电话号码被至少一个手机终端设为骚扰电话并达到了预先设定的阈值参数额度,则将该号码的状态设置为骚扰电话,记录该电话号码被设置的次数并存储在本机中作为正式数据文件;

S3、定时将标记后作为正式数据文件的骚扰电话进行排序并打包为区块后发送至与本机相关联的所有手机终端;

如图3所示,所述S3包括:

S31、定时将所有被标记为骚扰电话的号码数据排序然后打包为区块;

S32、计算打包后的号码数据的哈希散列;

S33、生成一个随机数,并在打包后的区块上标上处理时间;

S34、采用P2P传输方式将处理后的区块发送至与本机相关联的所有手机终端;

S4、接收到区块的所有手机终端对区块进行认定并生成区块链;

如图4所示,所述S4包括:

S41、与本机相关联的所有手机终端在收到区块后,生成随机字符串,判断随机字符串是否与预先设置的答案串相同,如果相同则认定接收到的区块为正式区块并向其他手机终端广播该区块,如果不相同则将接收到的区块抛弃并认定下一时刻接收到的其他区块;

S42、其他手机终端在接收到广播的正式区块后,判断该正式区块正确,并在手机终端中创建新的区块链,并在区块链尾部增添新的区块,将接收到的区块的哈希散列添加到增添的区块中;

S43、正式区块被接入到本地的区块链时要同时本地生成的区块进行比较,没有在该正式区块中的电话号码另外存储到正式数据文件中,留待下次区块生成时添加进去。

通过分布式记录骚扰号码、分布式传播、分布式存储这三大“分布”我们可以发现,没有人、没有组织、甚至没有哪个国家需要去花费成本去管理这个系统,系统内的数据存储、交易验证、信息传输过程全部都是去中心化的。在没有中心的情况下,大规模的需要拦截骚扰电话/短信的用户达成共识,共同构建了“移动互联区块链数据库”。可以说,这是构建了一个真正意义上的去中心化体系。甚至可以说,我们可以使用区块链技术构建了一套永生不灭的系统——只要不是网络中的所有参与节点在同一时间集体崩溃,拦截骚扰来电的数据库系统就可以一直运转下去。可以极大的提高数据的安全性并降低运维成本。

区块链本质上是一个去中心化的巨大账本数据库,作为起源于比特币应用的底层技术,区块链是由一串使用密码学相关联所产生的数据块组成,每一个数据块中包含了多次网络有效确认(一次有效交易检验被称为一次确认)的信息。随着交易不断产生,每个手机节点不断验证交易创造新的区块来记录最新的交易,这个帐本会一直增长延长。这些区块按照时间顺序线性补充到原有的区块链上。每一个节点(手机终端)都有一份完整的已有区块链备份记录,而这些都是通过进行数据验证算法解密的矿工网络自动完成。区块链上保留有所有关于每个节点和节点上设置的骚扰电话号码信息,这些信息也被记录在完整的区块链上。

拦截骚扰电话的区块由区块头及该区块所包含的交易列表组成。区块头的大小为103字节,由4字节的版本号、32字节的上一个区块的散列值、32字节的Merkle Root Hash、15字节的时间缀(当前时间)、4字节的当前难度值、15字节的随机数组成。区块包含的交易列表则附加在区块头后面。

区块的结构如表1所示:

表1

在区块的构造过程中,需要将该区块要包含的交易列表,通过HASH算法生成Merkle Root Hash,并以此作为交易列表的摘要存到区块头中。拥有固定长度的区块头,就是用于拦截骚扰电话工作量证明的输入字符串,因此,区块头中的数据能体现区块所包含的所有交易(骚扰电话设置记录)。

区块链中的数据有效期必须进行判断,超过阀值(阀值数据作为参数可配置),该区块则作废。区块有效期的控制主要是防止某些号码拆机后被重新放号,新拿到该号码的用户极有可能是正常用户,如果还在区块中就会被拦截,通过有效期控制可以避免这样的情况发生。

手机节点生成新区块时,要求同时生成一个14位的随机数,该随机数可以设定为如果同最原始区块生成的时间一致,则该区块被认定为正式区块,该区块即可全网广播发布。

区块中的难度值(difficulty),原来在比特币的运算中是矿工们在挖矿时候的重要参考指标,它决定了矿工大约需要经过多少次哈希运算才能产生一个合法的区块。在拦截骚扰电话的应用系统中,区块的生成在每天的固定时间,但是参与计算的手机节点会不断的发生变化,初始阶段可能会比较少,而且在一定时间内会不断波动,所以难度值必须根据全网算力的变化进行调整。

难度的调整是在每个完整节点中独立自动发生的。每1000(暂定)个区块,所有节点都会按统一的方法自动调整难度,这个方法可以是由最新1000个区块的花费时长与期望时长比较得出的,根据实际时长与期望时长的比值,进行相应调整(或变难或变易)。例如区块原始发布时间:20161009180817,共14位,如果新区块的产生超过1分钟,可以只比较前十位,如果生成的时间还是没有降下来,可以只比较前8位。

如果有多个手机节点的随机数都和原始发布时间相同,可以按照节点区块的的生成时间较早者为正式区块。比特币的工作量确定是用sha算法,需要耗费大量的主机计算能力,对手机不适用,用随机数的方法可以在最短时间内确定正式区块,也不影响手机其他功能的正常使用。

其中一个正式区块认定后,其它节点广播的区块被抛弃,正式区块被接入到本地的区块链时要同本地生成的区块做一个比较,部分没有在该正式区块中的电话号码要另外再存储到正式数据文件中,留待下次区块生成时添加进去。

如图5所示,本实施例所述方法还包括骚扰电话号码查找的步骤,所述步骤包括:

Sa、在骚扰号码正式数据文件生成以及本地区块链生成后,将骚扰号码和本地区块链读入手机内存中;

Sb、对存入的骚扰号码进行排序然后放入二叉树或list;

Sc、当手机接到来电时,在手机内存中进行二分查找或find,如果该来电号码为骚扰号码时,则直接进行拦截并显示骚扰号码信息。

骚扰号码的查找有两种数据来源,一种是从已经形成的区块链中匹配来电号码获取,另一种是从没有形成区块链的本机的骚扰号码正式数据文件中查找。从区块链和正式数据文件中查找速度较慢,需要将这两部分数据在数据生成时读入到内存中,并进行排序,这部分数据以二叉树或是hashmap形式存储在内存中,数据查找速度非常快。

本实施例还提出了一种基于区块链技术的骚扰来电短信拦截系统,如图6和图7所示,所述系统包括:

电话挂断存储模块,用于根据通话内容判断当前手机所接听的电话是否为骚扰电话,当所接听电话为骚扰电话时根据预设的挂机时间进行挂机操作,并将该骚扰电话保存在本机的存储卡中作为临时数据文件;

电话号码传输标记模块,用于将骚扰电话发送至与本机相关联的所有手机终端,并根据其他手机终端所返回的信息对骚扰电话进行标记作为正式数据文件;

定时发送模块,用于定时将标记后作为正式数据文件的骚扰电话进行排序并打包为区块后发送至与本机相关联的所有手机终端;

区块认定模块,用于接收到区块的所有手机终端对区块进行认定并生成区块链。

如图8所示,所述电话号码传输标记模块包括:

电话号码传输模块,用于将骚扰电话的电话号码传输到与本机相关联的所有手机终端;

号码对比模块,接收到电话号码的手机终端将接收到的电话号码与其预先设定在手机内部的骚扰电话号码进行比对,若接收到的电话号码已经存在预先设定的骚扰电话号码当中,则将该号码加上相应的信息状态广播至其他手机终端;

号码标记模块,用于电话号码传输模块中发送骚扰电话的电话号码的手机终端接收其他手机终端返回的信息状态,当该电话号码被至少一个手机终端设为骚扰电话并达到了预先设定的阈值参数额度,则将该号码的状态设置为骚扰电话,记录该电话号码被设置的次数并存储在本机中作为正式数据文件。

如图9所示,所述定时发送模块包括:

排序打包模块,用于定时将所有被标记为骚扰电话的号码数据排序然后打包为区块;

计算模块,用于计算打包后的号码数据的哈希散列;

随机数生成模块,用于生成一个随机数,并在打包后的区块上标上处理时间;

区块发送模块,用于采用P2P传输方式将处理后的区块发送至与本机相关联的所有手机终端。

如图10所示,所述区块认定模块包括:

区块广播模块,用于与本机相关联的所有手机终端在收到区块后,生成随机字符串,判断随机字符串是否与预先设置的答案串相同,如果相同则认定接收到的区块为正式区块并向其他手机终端广播该区块,如果不相同则将接收到的区块抛弃并认定下一时刻接收到的其他区块;

区块链生成模块,用于其他手机终端在接收到广播的正式区块后,判断该正式区块正确,并在手机终端中创建新的区块链,并在区块链尾部增添新的区块,将接收到的区块的哈希散列添加到增添的区块中;

比较模块,用于正式区块被接入到本地的区块链时要同时本地生成的区块进行比较,没有在该正式区块中的电话号码另外存储到正式数据文件中,留待下次区块生成时添加进去。

与本机相关联的所有手机终端在收到区块后,生成随机字符串,并判断随机字符串是否与预先设置的答案串相同,如果相同则向其他手机终端广播该区块,其他手机终端在接收到广播的区块后,判断该区块正确,并在手机终端中创建新的区块链,经接收到的区块的哈希散列添加到该区块链中。

区块链中每一笔数据交换的传播都采用分布式的结构,根据P2P网络层协议,消息由单个节点被直接发送给全网其他所有的节点,这里的节点就是移动网络中的手机终端。区块链不需要为每一个需要拦截骚扰电话的用户预留一个特定的位置,而是通过自愿原则来建立一套人人都可以参与记录信息的分布式记账体系,从而将记录的责任分散化,由相关联的所有手机终端的使用者共同记录。

如图11所示,本实施例所述系统还包括号码查找模块,用于查找骚扰电话号码,所述号码查找模块包括:

读入内存模块,用于在骚扰号码正式数据文件生成以及本地区块链生成后,将骚扰号码和本地区块链读入手机内存中;

号码排序模块,用于对存入的骚扰号码进行排序然后放入二叉树或list;

拦截模块,用于当手机接到来电时,在手机内存中进行二分查找或find,如果该来电号码为骚扰号码时,则直接进行拦截并显示骚扰号码信息。

区块链技术让数据库中的所有数据均存储于所有的手机节点中,并实时更新。完全去中心化的结构设置使数据能实时记录,并在每一个参与数据存储的网络节点中更新,可以极大的提高数据的安全性。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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