CN110909259A - 基于区块链的用户推荐方法、装置、设备及存储介质 - Google Patents
基于区块链的用户推荐方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110909259A CN110909259A CN201911181565.3A CN201911181565A CN110909259A CN 110909259 A CN110909259 A CN 110909259A CN 201911181565 A CN201911181565 A CN 201911181565A CN 110909259 A CN110909259 A CN 110909259A
- Authority
- CN
- China
- Prior art keywords
- user
- information
- gene
- genetic
- gene sequence
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 108090000623 proteins and genes Proteins 0.000 claims abstract description 268
- 230000002068 genetic effect Effects 0.000 claims abstract description 158
- 230000001717 pathogenic effect Effects 0.000 claims description 64
- 208000026350 Inborn Genetic disease Diseases 0.000 claims description 62
- 208000016361 genetic disease Diseases 0.000 claims description 62
- 238000013475 authorization Methods 0.000 claims description 51
- 230000015654 memory Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 16
- 230000035772 mutation Effects 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 description 36
- 230000006870 function Effects 0.000 description 26
- 230000000875 corresponding effect Effects 0.000 description 20
- 239000013598 vector Substances 0.000 description 16
- 238000012549 training Methods 0.000 description 15
- 201000010099 disease Diseases 0.000 description 12
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 9
- 208000034826 Genetic Predisposition to Disease Diseases 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000000977 initiatory effect Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 239000008280 blood Substances 0.000 description 7
- 210000004369 blood Anatomy 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 108020004414 DNA Proteins 0.000 description 3
- 102000053602 DNA Human genes 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010353 genetic engineering Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 206010064571 Gene mutation Diseases 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 208000021005 inheritance pattern Diseases 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 229920002477 rna polymer Polymers 0.000 description 2
- 108700003861 Dominant Genes Proteins 0.000 description 1
- 108020005196 Mitochondrial DNA Proteins 0.000 description 1
- 108700005079 Recessive Genes Proteins 0.000 description 1
- 102000052708 Recessive Genes Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229960000074 biopharmaceutical Drugs 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000001124 body fluid Anatomy 0.000 description 1
- 239000010839 body fluid Substances 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000002759 chromosomal effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005861 gene abnormality Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000001727 in vivo Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000008774 maternal effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 208000028284 monogenic inheritance Diseases 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003234 polygenic effect Effects 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000011269 treatment regimen Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种基于区块链的用户推荐方法、装置、设备及存储介质,属于区块链技术领域。本实施例提供了一种利用区块链推荐婚恋好友的技术方案,通过将用户的基因信息保存在区块链中,当用户需要推荐婚恋对象时,通过将用户的基因信息和其他用户的基因信息分别匹配,来找到与用户基因信息相互匹配的用户,从而向用户推荐合适的婚恋对象。由于区块链技术具有去中心化的特点,使用区块链来保存基因信息,可以规避中心化节点故障而导致数据泄露的风险,避免用户的基因信息泄露的风险。并且,由于基因信息包含了性格、基因遗传风险等丰富的特征,使用基因信息来匹配婚恋对象,有助于找到与用户性格般配的婚恋对象,规避基因遗传的风险。
Description
技术领域
本申请涉及区块链技术领域,特别涉及一种基于区块链的用户推荐方法、装置、设备及存储介质。
背景技术
互联网的兴起为用户在生活、工作、社交等各方面提供了极大的便利。时下,一些应用支持用户通过互联网结识婚恋对象,比如说,很多婚恋网站、社交应用等都支持自动推荐婚恋对象的功能,使得用户足不出门,即可通过这些应用找到与自己般配的另一半。
目前,通常基于用户的兴趣爱好来为用户推荐婚恋对象。具体而言,每个用户在应用上进行注册时,都需要填写自己的兴趣爱好信息,应用的服务器会将用户的兴趣爱好信息存储至数据库中。当某个用户发起推荐请求时,应用的服务器会查询数据库中存储的该用户的兴趣爱好信息,将该用户的兴趣爱好信息与其他用户的兴趣爱好信息匹配,若某个其他用户的兴趣爱好信息与该用户的兴趣爱好信息匹配,则向该用户推荐该其他用户。
采用上述方法推荐时,用户的兴趣爱好信息具有泄露的风险,并且,依赖于用户填写的兴趣爱好进行匹配,由于用户个人填写的兴趣爱好的可信性和准确性不高,导致推荐的婚恋对象的可信性和准确性差。
发明内容
本申请实施例提供了一种基于区块链的用户推荐方法、装置、设备及存储介质,能够解决相关技术中推荐的婚恋对象的可信性和准确性差的问题。所述技术方案如下:
一方面,提供了一种基于区块链的用户推荐方法,应用于区块链系统中的节点设备上,所述方法包括:
接收第一用户的推荐请求,所述推荐请求包括所述第一用户的用户标识,所述推荐请求用于请求为所述第一用户推荐婚恋对象;
根据所述第一用户的用户标识,查询所述区块链系统存储的所述第一用户的基因信息;
对所述第一用户的基因信息与每个候选用户的基因信息分别进行匹配,得到至少一个匹配值,每个匹配值用于表示对应候选用户的基因信息与所述第一用户的基因信息之间的匹配程度;
根据所述至少一个匹配值,确定第二用户,所述第二用户与所述第一用户匹配值满足条件;
向所述第一用户推荐所述第二用户。
可选地,所述根据所述至少一个匹配值,确定第二用户,包括:
根据所述至少一个性格匹配值,确定性格匹配值高于阈值的第二用户;或者,根据所述至少一个性格匹配值,确定性格匹配值排在前预设位数的第二用户。
可选地,所述根据所述至少一个匹配值,确定第二用户,包括:
根据所述至少一个遗传风险值,确定遗传风险值低于阈值的第二用户。
另一方面,提供了一种基于区块链的用户推荐装置,所述装置包括:
接收模块,用于接收第一用户的推荐请求,所述推荐请求包括所述第一用户的用户标识,所述推荐请求用于请求为所述第一用户推荐婚恋对象;
查询模块,用于根据所述第一用户的用户标识,查询所述区块链系统存储的所述第一用户的基因信息;
匹配模块,用于对所述第一用户的基因信息与每个候选用户的基因信息分别进行匹配,得到至少一个匹配值,每个匹配值用于表示对应候选用户的基因信息与所述第一用户的基因信息之间的匹配程度;
确定模块,用于根据所述至少一个匹配值,确定第二用户,所述第二用户与所述第一用户匹配值满足条件;
推荐模块,用于向所述第一用户推荐所述第二用户。
可选地,所述匹配模块,包括:
编码子模块,用于对所述第一用户的基因信息以及每个候选用户的基因信息分别进行编码,得到所述第一用户的性格特征以及每个候选用户的性格特征;
获取子模块,用于根据所述第一用户的性格特征以及每个候选用户的性格特征,获取所述至少一个性格匹配值,每个性格匹配值用于表示对应候选用户的性格特征与所述第一用户的性格特征之间的匹配程度。
可选地,所述编码子模块,用于将所述第一用户的基因信息以及每个候选用户的基因信息分别输入性格识别模型,所述性格识别模型用于根据基因信息识别性格特征;通过所述性格识别模型对所述第一用户的基因信息以及每个候选用户的基因信息分别进行处理,输出所述第一用户的性格特征以及每个候选用户的性格特征。
可选地,所述至少一个匹配值包括至少一个遗传风险值,所述匹配模块,包括:
组合子模块,用于对所述第一用户的基因序列与每个候选用户的基因序列分别进行组合,得到至少一个基因序列集合,每个基因序列集合包括所述第一用户的基因序列以及一个候选用户的基因序列;
获取子模块,用于根据所述至少一个基因序列集合,获取所述至少一个遗传风险值,每个遗传风险值为对应候选用户与所述第一用户的后代患有遗传病的概率。
可选地,所述组合子模块,用于:确定所述第一用户的基因序列包含的致病基因序列;确定每个候选用户的基因序列包含的致病基因序列;对所述第一用户的致病基因序列与每个候选用户的致病基因序列分别进行组合,得到所述至少一个基因序列集合,每个基因序列集合包括所述第一用户的致病基因序列以及一个候选用户的致病基因序列;
所述获取子模块,用于对于所述至少一个基因序列集合中的每个基因序列集合,根据基因致病信息,检测所述基因序列集合对应的遗传风险值,所述基因致病信息包括致病基因序列的遗传方式、突变概率、致病类型中的至少一项。
可选地,所述接收模块,还用于从医疗机构服务器接收所述基因致病信息;
所述装置还包括:存储模块,用于将包括所述基因致病信息的第一区块存储至所述区块链系统的区块链上。
可选地,所述接收模块,还用于从接收所述第一用户的授权信息,所述授权信息表示授权所述区块链系统使用基因信息进行用户推荐,所述授权信息包括所述第一用户的基因信息;
所述装置还包括:存储模块,用于将包括所述第一用户的基因信息的第二区块存储至所述区块链系统的区块链上。
另一方面,提供了一种节点设备,所述节点设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现上述基于区块链的用户推荐方法所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现上述基于区块链的用户推荐方法所执行的操作。
本申请实施例提供的技术方案带来的有益效果至少包括:
本实施例提供了一种利用区块链推荐婚恋好友的技术方案,通过将区块链技术以及基因工程技术结合起来,将用户的基因信息保存在区块链中,当用户需要推荐婚恋对象时,通过将用户的基因信息和其他用户的基因信息分别匹配,来找到与用户基因信息相互匹配的用户,从而向用户推荐合适的婚恋对象。由于区块链技术具有去中心化的特点,使用区块链来保存基因信息,可以规避中心化节点故障而导致数据泄露的风险,因此极大地提高了存储基因信息的安全性,避免用户信息泄露的风险,保障用户的隐私不被侵犯。并且,由于区块链中存储的数据不可篡改,可以保证匹配婚恋对象的过程中,使用的用户的基因信息是真实可信的,无法被伪造和篡改,那么使用真实可信的基因信息推荐出的婚恋对象,也可以保证可信性和准确性。另外,由于基因信息包含了用户的性格、用户的基因遗传风险等丰富的特征,使用基因信息来匹配婚恋对象,有助于找到与用户性格般配的婚恋对象,去除掉与用户结合后其后代患有遗传疾病风险概率大的对象,规避基因遗传的风险,如此,可以从性格的维度和遗传学的维度,为用户做出优质的推荐。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于区块链的用户推荐方法的实施环境示意图;
图2是本申请实施例提供的一种区块链的结构示意图;
图3是本申请实施例提供的一种新区块产生的流程图;
图4是本申请实施例提供的一种区块链系统中节点设备的功能架构图;
图5是本申请实施例提供的一种基于区块链的用户推荐方法的交互流程图;
图6是本申请实施例提供的一种基于基因进行性格匹配的示意图;
图7是本申请实施例提供的一种区块链系统的架构图;
图8是本申请实施例提供的一种基于区块链的用户推荐装置的结构示意图;
图9是本申请实施例提供的一种终端的结构示意图;
图10是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请所涉及的用户的基因信息以及基因致病信息可以为经用户授权或者经过各方充分授权的信息。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请中术语“多个”的含义是指两个或两个以上,例如,多个数据包是指两个或两个以上的数据包。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
以下,对本申请涉及的术语进行解释。
区块链(英文:blockchain):是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后,记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
共识机制(英文:consensus mechanism):是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。在区块链系统中,通过特殊节点的投票,可以在很短的时间内完成对交易的验证和确认,对一笔交易,如果利益不相干的若干个节点能够达成共识,就可以认为系统中的全部节点对此也能够达成共识。
智能合约(英文:smart contract):是一种旨在以信息化方式传播、验证或执行合同的计算机协议。区块链系统中的各个节点根据特定条件自动执行的合约程序,可以对链上存储的数据进行操作,是用户与区块链进行交互、利用区块链实现业务逻辑的重要途径。智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本,它允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
公钥(英文:public key)与私钥(英文:private key):是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密数据、验证数字签名等。通过这种算法能够确保得到的密钥对是唯一的,使用这种密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密,例如,用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
本申请实施例提供了基于上述区块链技术实现的区块链系统,以下对该区块链系统的系统架构进行介绍。
参见图1,区块链系统100中可以包括多个节点设备101,此外,区块链系统100还可以包括客户端。
节点设备101可以是下述方法实施例中的第一节点设备、第二节点设备、第三节点设备或者第四节点设备。节点设备101可以是网络中的任意形式的计算设备,如服务器、主机、用户终端等。节点设备101与节点设备101之间能够共享数据,例如,在下述方法实施例中,不同节点设备101可以共享用户在区块链系统的公钥、用户的基因信息、基因致病信息。其中,节点设备101之间可以基于点对点(Peer To Peer,P2P)协议,建立P2P网络。该P2P协议是一个运行在传输控制协议(Transmission Control Protocol,TCP)协议之上的应用层协议。
每个节点设备101在进行正常工作的过程中,可以接收到输入信息,并基于接收到的输入信息维护该区块链系统100内的共享数据,例如,在下述方法实施例中,节点设备101接收到的输入信息可以为用户的基因信息、基因致病信息。为了保证区块链系统100内的信息互通,区块链系统100中的每个节点设备之间可以存在信息连接,节点设备之间可以通过上述信息连接进行信息传输。例如,当区块链系统100中的任意节点设备接收到输入信息时,区块链系统100中的其他节点设备便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链系统100中全部节点设备上存储的数据均一致。
对于区块链系统100中的每个节点设备,均具有与其对应的节点设备的标识,而且区块链系统100中的每个节点设备均可以存储有区块链系统100中其他节点设备的节点设备标识,以便后续根据其他节点设备的节点设备标识,将生成的区块广播至区块链系统100中的其他节点设备。每个节点设备中可维护一个如下表1所示的节点设备标识列表,将节点设备名称和节点设备标识对应存储至该节点设备标识列表中。其中,节点设备标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点设备的信息,表1中仅以IP地址为例进行说明。
表1
节点设备名称 | 节点设备标识 |
节点设备1 | 117.114.151.174 |
节点设备2 | 117.116.189.145 |
… | … |
节点设备N | 119.123.789.258 |
区块链系统100中的每个节点设备均存储一条相同的区块链。区块链由多个区块组成,参见图2,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图3,区块链所在的节点设备在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点设备根据区块链系统100中其他节点设备的节点设备标识,将新生成的区块分别发送给其所在的区块链系统100中的其他节点设备,由其他节点设备对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
以下,对节点设备101的功能架构进行介绍。
参见图4,节点设备101从功能上可以划分为硬件层、中间层、操作系统层和应用层,涉及的具体功能可以如下:
1)路由,节点设备具有的基本功能,用于支持节点设备之间的通信。
节点设备除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点设备,供其他节点设备在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点设备,其他节点设备验证成功后,作为承认交易有效的响应,将交易的记录数据写入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币。
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点设备,其他节点设备验证有效后,作为承认账目数据有效的响应,将记录数据写入临时区块中,还可以向发起操作的节点设备发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点设备提交的记录数据。
图5是本申请实施例提供的一种基于区块链的用户推荐方法的交互流程图。以图5为例,对推荐婚恋对象的流程描述如下:
501、区块链系统中的第一节点设备接收基因致病信息。
本实施例中,可以通过区块链系统来保存基因知识库,将基因相关的知识录入基因知识库中,并随着医疗技术的不断发展以及临床经验的不断丰富,对已存储的基因知识库不断扩充和更新。
具体而言,区块链系统的区块链上可以存储基因致病信息,基因致病信息包含了基因相关的各种知识。其中,基因是遗传的基本单元,携带有遗传信息的脱氧核糖核酸(Deoxyribo Nucleic Acid,DNA)或核糖核酸(Ribonucleic Acid,RNA)序列,通过复制,把遗传信息传递给下一代,指导蛋白质的合成来表达自己所携带的遗传信息,从而控制生物个体的性状表达。
作为示例,基因致病信息可以包括致病基因序列的遗传方式、突变概率、致病类型中的至少一项。此外,基因致病信息还可以包括基因身份标识号码(identification,ID)、临床表现、治疗方案等。
遗传方式是指遗传信息传递的特点。通过分析亲代与子代遗传性状的相似及变异情况,可以了解遗传方式。其中,人类遗传方式主要分为单基因遗传方式和多基因遗传方式,相应地,基因致病信息可以分为单致病基因的基因致病信息以及组合致病基因的基因致病信息这两种。此外,单基因遗传方式中又可以分为常染色体遗传方式和性染色体遗传方式。位于常染色体的单基因遗传方式遵从孟德尔遗传规律,而线粒体基因为母系遗传方式。
突变概率也称基因突变率,是指体内基因发生基因突变的概率。对于人类这种有性生殖的生物而言,突变率通常用每一个配子发生突变的概率,即用一定数目配子中的突变配子数表示。
致病类型是指基因异常引发的遗传性疾病的类型。
基因ID用于标识对应的基因,例如可以是基因名称、基因编号等。
本实施例中,区块链系统中存储的基因致病信息的数据源可以包括多种。例如,可以和医疗机构合作,医疗机构通过临床得到的基因致病信息后,可以将基因致病信息存储在医疗机构服务器,医疗机构服务器可以将基因致病信息发送至第一节点设备,以便将基因致病信息上传至区块链。如果采用这种方式,步骤501可以是:第一节点设备接收医疗机构服务器发送的基因致病信息。
在另一些实施例中,也可以和一些高校的实验室合作,高校通过实验得到基因致病信息后,可以将基因致病信息存储至校园服务器,校园服务器可以将基因致病信息发送至第一节点设备,以便将基因致病信息上传至区块链。如果采用这种方式,步骤501可以是:第一节点设备接收校园服务器发送的基因致病信息。
在另一些实施例中,也可以和一些生物制药企业合作,企业通过实验得到基因致病信息后,可以将基因致病信息存储至企业服务器,企业服务器可以将基因致病信息发送至第一节点设备,以便将基因致病信息上传至区块链。如果采用这种方式,步骤501可以是:第一节点设备接收企业服务器发送的基因致病信息。
当然,以上列举的几种情况都是步骤501的可选实施方式,在另一些实施例中,个人用户也可以将研发得到的基因致病信息通过终端上传至区块链,则步骤501可以为:第一节点设备从终端接收基因致病信息。在另一些实施例中,区块链系统存储的基因致病信息也可以来自于某一网站,则步骤501可以为:第一节点设备从网站的服务器接收基因致病信息。在另一些实施例中,区块链系统存储的基因致病信息也可以来自于某一数据库,则步骤501可以为:第一节点设备从数据库对应的存储设备接收基因致病信息。
本实施例中,区块链系统中存储的基因致病信息的时机可以包括多种,相应地,步骤501的触发条件可以包括多种。
以基因致病信息的数据源为医疗结构服务器为例,医疗结构服务器可以每当获取到基因致病信息时,将获取到的基因致病信息发送给第一节点设备,以便实时将最新的基因致病信息上传至区块链。又如,医疗结构服务器可以和第一节点设备定期进行交互,每隔预设时间周期,医疗结构服务器将当前时间周期获取到的基因致病信息发送给第一节点设备,以便定期将最新的基因致病信息上传至区块链。又如,医疗结构服务器可以接收到存储指令时,将基因致病信息发送给第一节点设备,该存储指令用于指示将基因致病信息存储至区块链,可以由用户的操作触发。当然,这3种时机仅是举例说明,本实施例对于第一节点设备在什么时机下接收基因致病信息不做限定。
502、第一节点设备将包括基因致病信息的第一区块存储至区块链系统的区块链上。
区块链通常包括多个区块,第一区块是指区块链中包括基因致病信息的区块。
应理解,第一区块包括基因致病信息是一种开放性的描述,并不限定第一区块仅包括基因致病信息而不包括其他信息,在一些可选的实施例中,第一区块可以包括基因致病信息以及其他信息,例如,第一区块可以包括基因致病信息以及身份信息,该身份信息用于标识基因致病信息的数据源,例如,身份信息可以是基因致病信息的数据源在区块链系统的公钥或者数字签名,比如说是医疗机构服务器在区块链系统的公钥、高校在区块链系统的公钥、企业在区块链系统的公钥。那么,由于第一区块在包含基因致病信息的同时,还包括身份信息,当从第一区块读取基因致病信息时,可以通过身份信息,验明基因致病信息的数据源,证明基因致病信息的可靠性。
关于存储基因致病信息的技术细节,在一些实施例中,基因致病信息可以基于共识机制存储至区块链上。具体而言,第一节点设备作为区块链系统中的任一节点设备,可以通过广播的手段,将接收到的基因致病信息扩散到区块链系统中的其他节点设备上,其他节点设备接收到基因致病信息后,可以生成第一区块,基于第一区块进行共识,当共识通过时,区块链系统内的各个节点设备均会将第一区块存储至该区块链系统的区块链,从而实现了区块链系统整体上均对基因致病信息进行记录和共享。
其中,第一区块生成的细节还请参见上文图2以及图3相关的描述,为描述简洁,在此不做赘述。
通过上述步骤501至步骤502,达到的效果至少可以包括:通过将基因致病信息存入区块链系统的区块链中,能够将基因致病信息同步至区块链系统的每个节点设备,使得每个节点设备可以共享基因致病信息。那么后续在推荐婚恋对象的过程中,每个节点设备均可以从区块链中查询到基因致病信息,以便利用基因致病信息预测不同用户结合后,后代产生遗传疾病的概率。另外,由于区块链中存储的数据不可篡改,可以保证匹配婚恋对象的过程中,使用的基因致病信息是真实可信的,从而确保将具有遗传风险的推荐人过滤掉。
503、区块链系统中的第二节点设备接收第一用户的授权信息。
第二节点设备可以是区块链系统中任一节点设备,第二节点设备和上文中的第一节点设备可以相同或不同。
授权信息表示授权区块链系统使用基因信息进行用户推荐。授权信息包括第一用户的基因信息。其中,基因信息和上文中的基因致病信息是两个不同的概念,基因信息表示用户的基因相关的特征,例如,基因信息可以包括第一用户的一个或多个基因序列。基因序列可以是使用一串字母表示的真实的或者假设的携带基因信息的DNA分子的一级结构。
第二节点设备接收授权信息的来源可以有多种情况。在一些实施例中,可以由第一用户的终端生成授权信息,将授权信息发送至第二节点设备。
其中,基因信息可以在第一用户的授权下,通过对第一用户的血液、其他体液或细胞进行检测得到。例如,第一用户可以通过血液采集设备采集血液,血液采集设备可以对采集的血液进行检测,得到基因信息,将基因信息发送至第一用户的终端。当然,血液采集设备也可以提取采集的血液包含的数据,将数据发送给医疗机构服务器,由医疗机构服务器对数据进行检测,得到基因信息,将基因信息发送至第一用户的终端。
第二节点设备接收授权信息的时机可以包括多种情况。在一个示例性场景中,当第一用户在社交应用上进行注册时,第二节点设备从社交应用的客户端接收授权信息。该社交应用可以是婚恋应用、即时通信应用等等。具体地,终端在运行社交应用的客户端时,可以在注册界面中显示授权提示信息,该授权提示信息用于提示用户是否授权使用基因信息进行用户推荐,如果终端检测到注册操作,则终端可以向社交应用的后台服务器发送注册请求,并且向区块链系统的第二节点设备发送授权信息。
应理解,授权信息包括基因信息是一种开放性的描述,并不限定第一区块仅包括基因信息而不包括其他信息,在一些可选的实施例中,授权信息还可以包括用户的属性信息,用户的属性信息可以包括基础信息、外貌信息、身材信息等。基础信息可以包括用户昵称、性别、年龄、学历,地域等信息。外貌信息包含用户的外貌特征,身材信息包含用户的身材特征,外貌信息和身材信息可以是包含用户图像的照片或视频,也可以是一些参数。地域可以包括用户的工作所在地、用户的家庭所在地等。通过将用户的属性信息携带在授权信息中,可以将用户的属性信息也存储到区块链中,使得区块链的每个节点设备可以共享用户的属性信息,那么后续在进行婚恋对象推荐时,可以结合用户的属性信息来进行推荐。
在一些可选的实施例中,授权信息还可以包括用户的公钥。具体而言,当第一用户注册成为区块链系统的用户时,可以拥有公钥和私钥,该公钥和该私钥组成了一个密钥对,当第一用户的终端发送授权信息时,可以将公钥也携带在授权信息中。如此,可以通过公钥,标识基因信息是对应于第一用户的,从而将基因信息与用户身份关联起来。
在一些可选的实施例中,第二节点设备可以在接收授权信息的基础上,还接收到用户的数字签名。具体而言,当第一用户的终端发送授权信息时,可以使用私钥,对授权信息进行签名,得到数字签名,将授权信息和数字签名一起发送给第二节点设备,以便利用数字签名,验证授权信息的真实可靠性。关于数字签名的生成过程,在一些实施例中,终端可以计算授权信息的哈希值,使用私钥,对授权信息的哈希值进行加密,得到密文形式的授权信息的哈希值,该密文形式的授权信息的哈希值即为数字签名。
504、第二节点设备将包括第一用户的基因信息的第二区块存储至区块链系统的区块链上。
区块链通常包括多个区块,第二区块是指区块链中包括第一用户的基因信息的区块。第二区块生成的细节还请参见上文图2以及图3相关的描述,为描述简洁,在此不做赘述。
存储第一用户的基因信息的过程和存储基因致病信息的过程同理,同样可以基于共识机制执行。具体而言,区块链系统中所有节点设备可以将一段时间内接收到的用户的基因信息整合在一起,形成区块,并将区块扩散至全系统;任意节点设备接收到基因信息后,会将接收的基因信息与本地保存的基因信息进行比较,将认可的基因信息发送至区块链系统中。通过扩散迭代,最终区块链系统中所有节点设备保存的基因信息达成一致。另外,存储的具体细节可以参见上述步骤502,在此不做赘述。
在一些实施例中,如果第二节点设备不仅接收到了授权信息,还接收到了数字签名,可以使用用户的公钥,对该数字签名进行验证,如果数字签名验证通过,执行步骤504,如果数字签名验证不通过,可以拒绝执行步骤504。
通过使用数字签名技术来进行验证,达到的效果至少可以包括:利用了密码学方法,保证了基因信息入链的安全性。具体地,如果数字签名验证通过,一方面,能够证明授权信息是由用户本人操作终端签名并发送的,授权信息并不是其他用户伪造的授权信息,从而验证了用户的身份的真实性,保证将第一用户的基因信息存储至区块链系统的过程是在第一用户本人的授权下执行的,是出于第一用户本人的真实意愿,避免将第一用户不愿意公开的隐私数据误存储至区块链系统,从而保障用户隐私不被侵犯。另一方面,能够证明授权信息是完整的,在传输过程中没有被篡改过,也没有发生丢失。也就表明待存储的基因信息是完整的,从而保证区块链上存储的基因信息是真实、可靠、准确的。
通过上述步骤503至步骤504,提供了一种使用区块链技术来记录用户基因的方式,在用户的授权下,将用户的基因信息上传到了区块链。通过这种方式,达到的效果至少可以包括:
传统的婚恋配对方案中,通常基于用户兴趣爱好来推荐婚恋对象,第一,没有从遗传的角度考虑问题,第二,以遗传的角度来推荐也存在极大的技术障碍。这是由于,一旦用户将个人的家族病史等遗传信息上传到设备,就会面临由于设备故障等因素泄露用户隐私的风险,并且人工搜集的遗传信息的准确性也难以保证。
而上述方法利用了区块链技术的优势,一方面,由于基因信息要在用户的授权下,才能存入区块链,避免基因信息随意入链而造成用户隐私泄露的情况,提高基因信息的安全性和隐私性。另一方面,由于区块链具有去中心化的特性,可以规避中心化节点故障而导致基因信息泄露的风险,极大地提高存储基因信息的安全性。并且,由于存储在区块链中的数据不可篡改,可以避免基因信息在存储过程中被篡改,保证基因信息的真实可信。以此为基础,在婚恋对象推荐的流程中,可以在用户授权的基础上,通过查询区块链存储的基因信息,基于不同用户的基因信息之间的匹配情况,来为用户推荐合适的婚恋对象。
505、区块链系统中的第三节点设备接收第三用户的授权信息。
506、第三节点设备将包括第三用户的基因信息的第三区块存储至区块链系统的区块链上。
第三用户是指和第一用户不同的任一个用户,第三用户可以是第一用户候选的婚恋对象。第三用户也可以不是第一用户候选的婚恋对象,比如,第三用户也包括由于和第一用户的属性信息不匹配,在基因匹配环节之前就已被淘汰的用户。第三节点设备可以是区块链系统中任一节点设备,第三节点设备和上文中的第一节点设备、第二节点设备可以相同或不同。区块链通常包括多个区块,第三区块是指区块链中包括第三用户的基因信息的区块。第三区块生成的细节还请参见上文图2以及图3相关的描述,为描述简洁,在此不做赘述。
第三用户的授权信息包括第三用户的基因信息。此外,与第一用户的授权信息同理,可选地,第三用户的授权信息还包括第三用户的公钥或者第三用户的数字签名中的至少一项。
第三节点设备接收授权信息的时机可以包括多种情况。例如,可以和第二节点设备接收授权信息的时机同理,具体细节还请参见步骤503。另外,将第三用户的基因信息存储至区块链的过程和将第一用户的基因信息存储至区块链同理,同样可以基于共识机制执行。将第三用户的基因信息存储至区块链的过程和将第一用户的基因信息存储至区块链同理,同样可以基于共识机制执行,具体细节可以参见步骤502以及步骤504。另外,如果第三用户的授权信息还包括第三用户的数字签名,第三节点设备可以使用数字签名对其进行验证,具体细节参见步骤504,为描述简洁,与上文同理的步骤在此不做一一赘述。
应理解,由于社交应用上注册的用户通常众多,第三用户的数量可以是多个,可以为每个第三用户执行一次上述步骤505至步骤506,为不同第三用户执行上述步骤505至步骤506时,负责将基因信息存储至区块链系统的节点设备可以不同或相同。另外,为不同第三用户执行上述步骤505至步骤506的时序也可以相同或不同,可以顺序执行也可以并发执行。
507、区块链系统中的第四节点设备接收第一用户的推荐请求。
第四节点设备可以是区块链系统中任一节点设备,第四节点设备和上文中的第一节点设备、第二节点设备或者第三节点设备可以相同或不同。
推荐请求用于请求为第一用户推荐婚恋对象。推荐请求可以包括第一用户的用户标识,该用户标识可以是用户ID。另外,推荐请求还可以包括第一用户的公钥等。推荐请求可以由第一用户的操作触发。在一个示例性场景中,终端在运行社交应用的过程中,可以显示推荐启动界面,该推荐启动界面用于提示用户触发为其启动推荐婚恋对象的流程,该推荐启动界面可以包括启动选项,当第一用户想要寻找婚恋对象时,可以对启动选项触发操作,终端可以检测到该操作,则生成推荐请求,向第四节点设备发送推荐请求。
508、第四节点设备根据第一用户的用户标识,查询区块链系统存储的第一用户的基因信息。
第四节点设备可以解析推荐请求,得到推荐请求携带的第一用户的用户标识,根据第一用户的用户标识,从存储的区块链的第二区块中,得到第一用户的基因信息。
509、第四节点设备从多个第三用户中,确定至少一个候选用户。
候选用户是指待与第一用户进行基因信息匹配的用户。候选用户的数量可以是一个或多个,作为示例,确定候选用户可以包括以下两种实现方式:
实现方式一、确定基础信息与第一用户的基础信息满足预设匹配条件的用户,作为候选用户。
例如,预设匹配条件可以是候选用户的年龄和第一用户的年龄之间的差距小于阈值。比如,两个用户的年龄差在三岁或五岁之内,在两个用户进行婚恋对象匹配时,互相会被选取为候选用户。
又如,预设匹配条件可以是候选用户的地域和第一用户的地域之间的距离小于阈值。比如,两个用户是同城用户,在两个用户进行婚恋对象匹配时,互相会被选取为候选用户。
又如,预设匹配条件可以是候选用户的收入和第一用户的收入之间的差距小于阈值,比如,两个用户是同城用户,在两个用户进行婚恋对象匹配时,互相会被选取为候选用户。
又如,预设匹配条件可以是候选用户的学历和第一用户的学历相同或相近。比如,两个用户是同城用户,在两个用户进行婚恋对象匹配时,互相会被选取为候选用户。
又如,预设匹配条件可以是候选用户的外貌信息和第一用户的外貌信息匹配。
又如,预设匹配条件可以是候选用户的身材信息和第一用户的身材信息匹配。
应理解,上述预设匹配条件可以是社交应用的服务器默认配置的条件,也可以是用户自定义设置的条件,例如,用户可以根据个人对婚恋对象的需求,通过执行设置操作,在终端上输入理想的婚恋对象与自己年龄差、理想的婚恋对象所在的地域、理想的婚恋对象的收入范围、理想的婚恋对象的学历,社交终端、社交应用的服务器或者其他设备可以将用户设置的匹配条件存储至区块链系统的区块链中,以便利用用户个人设置的匹配条件来为用户寻找般配的婚恋对象,如此,充分考虑了用户个人意愿,从而满足用户在征婚过程中的个性化需求。
还应理解,上述多个预设匹配条件可以采用任意方式结合。例如,可以仅使用这些预设匹配条件中的一种预设匹配条件,或者,执行这些预设匹配条件中的两种或两种以上的预设匹配条件。其中,如果将不同预设匹配条件结合起来,不同预设匹配条件之间的逻辑关系可以是且的关系,也可以是或的关系。另外,如果将不同预设匹配条件结合起来,不同预设匹配条件可以具有不同的匹配优先级。
还应理解,上述描述的预设匹配条件均是可选方式,而非必选,在一些实施例中,也可以采用以上描述的其他匹配条件,例如星座匹配、爱好匹配、工作行业匹配等等。而这些实现基于基础信息进行婚恋对象匹配的方式作为步骤509的一种具体情况,也应涵盖在本申请实施例的保护范围之内。
实现方式二、确定已在区块链上存储基因信息的每个用户,作为候选用户。也即是,也可以不利用基础信息进行匹配,将基因信息入链的所有用户均当做候选用户,以执行下述步骤。
510、第四节点设备对第一用户的基因信息与每个候选用户的基因信息分别进行匹配,得到至少一个匹配值。
每个匹配值用于表示对应候选用户的基因信息与第一用户的基因信息之间的匹配程度。如果确定出N个候选用户,步骤510可以得到N个匹配值,N个匹配值和N个候选用户一一对应,N为正整数。
匹配值可以和匹配程度正相关,也可以和匹配程度负相关,具体关联关系可以根据匹配值的数据形式确定,对此不做限定。
由于基因信息包含了丰富的特征,在一些实施例中,基于基因信息,能够从多个维度来衡量不同用户的匹配程度,以下通过实现方式一至实现方式二举例说明。
实现方式一、基于基因,从性格的维度进行匹配。
作为示例,实现方式一可以包括以下步骤一至步骤二:
步骤一、第四节点设备对第一用户的基因信息以及每个候选用户的基因信息分别进行编码,得到第一用户的性格特征以及每个候选用户的性格特征。
其中,性格特征可以包括多种数据形式,例如,性格特征可以是一维的向量、二维的特征图或者三维的特征立方体。在一些实施例中,可以将基因信息映射为向量空间中的一个固定长度的向量。
例如,参见图6,可以将用户1的基因序列A通过编码器,编码为向量E,将用户2的基因序列B通过编码器,编码为向量F,计算向量E和向量F之间的相似度,作为基因序列A表达的性格特征和基因序列B表达的性格特征之间的匹配度。
这种方式达到的效果至少可以包括:由于不同性格之间的匹配程度难以衡量,但是不同向量之间的相似性可以通过向量空间中的距离准确而有效地表示出来,那么,通过将基因信息进行向量表示,可以将性格相似的度量问题转换为向量相似的度量问题,那么通过计算不同向量之间的相似度,即可确定不同用户性格之间的匹配程度,保证得出的性格匹配程度准确性高,并且计算方式简单。
将性格编码为性格特征的方式可以包括多种实现方式,以下,通过步骤2.1至步骤2.2举例说明:
步骤2.1第四节点设备将第一用户的基因信息以及每个候选用户的基因信息分别输入性格识别模型。
性格识别模型用于根据基因信息识别性格特征。性格识别模型的输入参数包括用户的基因信息,性格识别模型的输出参数包括用户的性格特征。性格识别模型可以是人工智能(artificial intelligence,AI)模型。性格识别模型的具体类型可以包括多种。例如,性格识别模型可以包括神经网络、支持向量机、线性回归模型、逻辑回归模型、决策树或者随机森林中的至少一种。例如,性格识别模型可以是神经网络。具体地,性格识别模型可以是卷积神经网络或者循环神经网络等。
性格识别模型可以基于已标注的样本数据预先训练得到。该样本数据可以包括样本用户的基因信息,该样本数据的标签可以是样本用户的性格特征,例如,标签可以是两个样本用户之间的性格匹配,或者两个样本用户之间的性格不匹配。例如,应用在婚恋对象匹配的场景中,可以将两个结婚的样本用户的基因信息,标注上性格匹配的标签,将两个离婚的样本用户的基因信息,标注上性格不匹配的标签,那么通过已标注的样本进行模型训练,模型可以从样本中数据中,挖掘出基因与性格特征之间的关联关系,学习出基因与结婚离婚的规律,比如什么样基因的用户与什么样基因的用户会由于性格不匹配而离婚,什么样基因的用户与什么样基因的用户会由于性格匹配而结婚,那么在模型推理预测阶段,应用已训练的模型,能够结合用户的基因信息,找到性格匹配、结婚概率高、离婚概率低的对象,推荐给用户。
其中,关于样本数据的数据源,在一些实施例中,可以从民政部门服务器获取样本数据的数据集,也可以通过网络进行调查问卷,得到样本数据的数据集。该数据集可以包括结婚状态的用户的数据、离婚状态的用户的数据等等。根据数据集,构建用户的基因序列和其性格匹配程度的样本集合,后续可以通过余弦相似度等度量方式计算不同样本的性格匹配程度。
另外,关于模型训练的细节,可以将样本用户的基因信息输入初始化后的性格识别模型,通过性格识别模型对样本用户的基因信息进行处理,输出性格特征。根据该性格特征与标签,通过损失函数计算损失值,损失值表示性格特征与标签之间的偏差,性格特征与标签之间的偏差越大,则损失值越大。之后,可以根据损失值调整性格识别模型的参数。其中,调整参数的过程可以基于反向传播等算法执行,通过调参,能够对模型进行优化,使得模型识别出的性格比之前更准确。
其中,以上示出了训练的一次迭代过程,每当迭代一次后,可以检测当前是否已经满足训练终止条件,当不满足训练终止条件时,执行下一次迭代过程;当满足训练终止条件时,将本次迭代过程所采用的性格识别模型输出为训练完成的性格识别模型。其中,该训练终止条件可以为迭代次数达到目标次数或者损失函数满足预设条件,还可以为基于验证数据集验证时,其能力在一段时间内没有提升。其中,该目标次数可以是预先设置的迭代次数,用以确定训练结束的时机,避免对训练资源的浪费。该预设条件可以是训练过程中损失函数值在一段时间内不变或者不下降,此时说明训练过程已经达到了训练的效果,即性格识别模型具有了根据基因信息识别用户的性格特征的功能。
关于获取性格识别模型的过程,在一些实施例中,性格识别模型可以存储在区块链系统的第四区块中,第四节点设备可以根据性格识别模型的标识,从存储的区块链的第四区块中,查询得到性格识别模型。
步骤2.2第四节点设备通过性格识别模型对第一用户的基因信息以及每个候选用户的基因信息分别进行处理,输出第一用户的性格特征以及每个候选用户的性格特征。
其中,第四节点设备可以将第一用户的基因信息输入性格识别模型,通过性格识别模型对第一用户的基因信息进行处理,输出第一用户的性格特征。其中,处理的过程可以包括一次或多次非线性映射以及一次或多次线性映射,处理的过程可以由模型的每个层以及每个层的每个神经元执行。对于至少一个候选用户中的每个候选用户,第四节点设备可以将候选用户的基因信息输入性格识别模型,通过性格识别模型对候选用户的基因信息分别进行处理,输出候选用户的性格特征。
应理解,本实施例对识别第一用户的性格特征以及每个候选用户的性格特征的步骤的时序不做限定,可以先通过性格识别模型识别出第一用户的性格特征,再通过性格识别模型识别出每个候选用户的性格特征,也可以先通过性格识别模型识别出每个候选用户的性格特征,再通过性格识别模型识别出第一用户的性格特征,当然,也可以多个用户的性格特征并行识别。
步骤二、第四节点设备根据第一用户的性格特征以及每个候选用户的性格特征,获取至少一个性格匹配值。
其中,每个性格匹配值用于表示对应候选用户的性格特征与第一用户的性格特征之间的匹配程度。候选用户的性格特征与第一用户的性格特征之间的匹配程度越高,则候选用户的性格匹配值越高。
性格匹配值的算法可以包括多种。在一些实施例中,若性格特征为向量的形式,对于每个候选用户而言,该候选用户的性格匹配值可以是该候选用户的性格特征与第一用户的性格特征在向量空间中的距离。例如,该候选用户的性格匹配值可以是候选用户的性格特征与第一用户的性格特征的余弦相似度。
通过实现方式一,根据用户基因序列建模,对用户基因序列进行向量表示,并基于此向量进行相似度计算,进行性格匹配,如此,能够从基因上判断性格匹配的程度,以便为用户找到性格匹配的婚恋对象。
实现方式二、基于基因,从遗传风险的维度进行匹配。
作为示例,实现方式二可以包括以下步骤一至步骤二:
步骤一、第四节点设备对第一用户的基因序列与每个候选用户的基因序列分别进行组合,得到至少一个基因序列集合。
每个基因序列集合包括第一用户的基因序列以及一个候选用户的基因序列。具体地,步骤一可以包括以下步骤1.1至步骤1.3:
步骤1.1第四节点设备确定第一用户的基因序列包含的致病基因序列。
第一用户的基因序列可以包括多种基因,可以筛选出其中的致病基因序列,以便利用致病基因序列预测后代患有遗传病的概率。
步骤1.2第四节点设备确定每个候选用户的基因序列包含的致病基因序列。
步骤1.3第四节点设备对第一用户的致病基因序列与每个候选用户的致病基因序列分别进行组合,得到至少一个基因序列集合。
其中,考虑到遗传病可以包括多种类型,每种遗传病又可能由多种致病基因序列引起,可以将各种可能的致病基因序列进行组合,得到组合后的基因序列集合,以便计算各种可能的致病基因序列的概率。
步骤二、第四节点设备根据至少一个基因序列集合,获取至少一个遗传风险值。
每个遗传风险值为对应候选用户与第一用户的后代患有遗传病的概率,遗传风险值越大,表明对应候选用户与第一用户的后代患有遗传病的概率越高,对应候选用户与第一用户婚恋后产生遗传风险的概率越大。
其中,每个基因序列集合可以包括第一用户的致病基因序列以及一个候选用户的致病基因序列。例如,某一个致病基因的显性基因记为A,隐性基因记为a,若第一用户的致病基因序列包括Aa,候选用户的致病基因序列包括Aa,则基因序列集合对应的遗传风险值为Aa和Aa组合后遗传病的概率,具体地,组合包括三种情况,第一种是AA,概率为1/4;第二种是aa,概率为1/4;第三种是Aa,概率为1/2。
根据基因序列集合来确定遗传风险值的方式可以包括多种。在一些实施例中,对于至少一个基因序列集合中的每个基因序列集合,第四节点设备可以根据基因致病信息,检测基因序列集合对应的遗传风险值。例如,可以根据基因序列集合包含的致病基因序列,从基因致病信息查询该致病基因序列的遗传方式、突变概率和致病类型,根据该致病基因序列的遗传方式、突变概率和致病类型,计算出遗传风险值。
其中,第四节点设备可以查询区块链系统存储的基因致病信息,例如从存储的区块链的第一区块中,得到基因致病信息。如此,可以利用步骤501至步骤502预先录入区块链的基因致病信息,预测不同用户结合产生遗传风险的概率。
应理解,上述实现方式一至实现方式二可以采用任意方式结合。例如,可以仅执行这2种实现方式中的一种实现方式,或者,执行这2种实现方式中的两种或两种以上的实现方式。其中,如果将不同实现方式结合起来,不同实现方式之间的逻辑关系可以是且的关系,也可以是或的关系。例如,可以对第一用户的基因信息与每个候选用户的基因信息分别进行匹配,得到至少一个性格匹配值和至少一个遗传风险值。
还应理解,如果实现方式一至实现方式二结合,对结合方案中不同实现方式的时序不做限定。可以实现方式一先执行,也可以实现方式二先执行,也可以两种实现方式并行执行。
应理解,上述实现方式一至实现方式二仅是示例性说明,并不代表是基因匹配功能的必选实现方式。在另一些实施例中,也可以采用其他实现方式来实现基因匹配功能。而这些实现基因匹配功能的其他方式作为基因匹配功能的实现方式的一种具体情况,也应涵盖在本申请实施例的保护范围之内。
511、第四节点设备根据至少一个匹配值,确定第二用户。
第二用户是指向第一用户推荐的婚恋对象。第二用户与第一用户之间的匹配值满足条件。具体地,对于至少一个候选用户中的每个候选用户,第四节点设备可以判断候选用户的匹配值是否满足条件,若候选用户的匹配值满足条件,则将该候选用户作为待推荐的用户,即第二用户。若候选用户的匹配值不满足条件,则过滤掉该候选用户。
其中,判断候选用户的匹配值是否满足条件的方式可以包括多种,以下通过实现方式一至实现方式二举例说明。
实现方式一、根据至少一个性格匹配值,确定第二用户。
例如,对于至少一个候选用户中的每个候选用户,第四节点设备可以判断候选用户的性格匹配值是否高于阈值,若候选用户的性格匹配值高于阈值,则将该候选用户确定为第二用户。或者,第四节点设备可以对至少一个候选用户的性格匹配值按照从高到低的顺序进行排序,从至少一个候选用户中选择性格匹配值排在前预设位数的用户,作为第二用户。其中,该预设位数可以是1,从而将性格最匹配的候选用户作为婚恋对象推荐给用户。该预设位数也可以大于1,从而将性格较为匹配的多个候选用户均作为婚恋对象推荐给用户。该预设位数可以是社交应用的服务器配置的,也可以是第一用户通过终端执行设置操作设置的。
通过实现方式一,能够利用基因,推理出不同用户的性格,在性格相匹配的不同用户之间进行推荐,从而为用户推荐性格匹配的婚恋对象,从而做出最优质的推荐。
实现方式二、根据至少一个遗传风险值,确定第二用户。
例如,对于至少一个候选用户中的每个候选用户,第四节点设备可以判断候选用户的遗传风险值是否低于阈值,若候选用户的遗传风险值低于阈值,则将该候选用户确定为第二用户。或者,第四节点设备可以对至少一个候选用户的遗传风险值按照从低到高的顺序进行排序,从至少一个候选用户中选择遗传风险值排在前预设位数的用户,作为第二用户。
通过实现方式二,能够利用基因,将各种可能的致病基因序列进行组合,根据不同序列组合的致病概率,预测出不同用户如果婚恋后,后代患有遗传疾病的风险概率,将遗传风险高的候选对象预先过滤掉,从而避免推荐结合后产生遗传风险的候选人,从而避免了基因遗传的风险,做出最优质的推荐。
512、第四节点设备向第一用户推荐第二用户。
例如,第四节点设备可以将第二用户的用户信息发送给第一用户的终端,第一用户的终端可以在推荐结果界面中,显示第二用户的用户信息。其中,第二用户的用户信息可以包括第二用户的用户标识、第二用户的头像、第二用户的联系方式等,该联系方式可以是第二用户在社交应用注册的账号。如此,第一用户可以基于第二用户的用户信息,了解第二用户的基本情况,基于第二用户的联系方式,联络第二用户。
此外,第四节点设备还可以将第二用户的匹配值发送给第一用户的终端,第一用户的终端可以在推荐结果界面中,显示第二用户的匹配值。如此,第一用户可以基于第二用户的匹配值的高低,感知第二用户与自己有多么匹配。
此外,如果第二用户的数量为多个,第一用户的终端可以显示候选婚恋对象列表,该候选婚恋对象列表包括每个第二用户的用户信息。
本实施例提供了一种利用区块链推荐婚恋好友的技术方案,通过将区块链技术以及基因工程技术结合起来,将用户的基因信息保存在区块链中,当用户需要推荐婚恋对象时,通过将用户的基因信息和其他用户的基因信息分别匹配,来找到与用户基因信息相互匹配的用户,从而向用户推荐合适的婚恋对象。由于区块链技术具有去中心化的特点,使用区块链来保存基因信息,可以规避中心化节点故障而导致数据泄露的风险,因此极大地提高了存储基因信息的安全性,避免用户信息泄露的风险,保障用户的隐私不被侵犯。并且,由于区块链中存储的数据不可篡改,可以保证匹配婚恋对象的过程中,使用的用户的基因信息是真实可信的,无法被伪造和篡改,那么使用真实可信的基因信息推荐出的婚恋对象,也可以保证可信性和准确性。另外,由于基因信息包含了用户的性格、用户的基因遗传风险等丰富的特征,使用基因信息来匹配婚恋对象,有助于找到与用户性格般配的婚恋对象,去除掉与用户结合后其后代患有遗传疾病风险概率大的对象,规避基因遗传的风险,如此,可以从性格的维度和遗传学的维度,为用户做出优质的推荐。
参见图7,基于上述技术方案,能够利用区块链,将医院、不同的用户、基因采集节点、基因存储节点、基因知识库、匹配节点等各个机构和个人互联起来,这些机构和欲征婚交友的个人可以注册成为区块链用户,拥有唯一的用户标识和私钥密码。其中,用户标识可以为用户公钥,用于在区块链系统中唯一标识一个用户或者一个机构。
对于区块链系统内的各个机构,机构之间可以签订智能合约,用以约定基因匹配的流程以及推荐婚恋对象的流程,机构可以通过各自的私钥对智能合约加密以确定合约生效,该智能合约可以由任意机构用户存储至区块链上,以便后续基于智能合约进行上述方法实施例提供的用户推荐方法。上述区块链系统可以是联盟链,任一机构想要加入该联盟链,需要征得所有成员机构的同意。可选地,该智能合约中还可以包括各机构投入的人员占比以及需要支付或者应收的好友推荐费用。例如,智能合约可以写明,每当为用户推荐一次婚恋对象,或者每当为用户推荐一个婚恋对象,或者每当用户与推荐的婚恋对象交往,需要分别从用户的账户扣除多少费用。
图8是本申请实施例提供的一种基于区块链的用户推荐装置的结构示意图。
参见图8,该装置包括:
接收模块801,用于接收第一用户的推荐请求,推荐请求包括第一用户的用户标识,推荐请求用于请求为第一用户推荐婚恋对象;
查询模块802,用于根据第一用户的用户标识,查询区块链系统存储的第一用户的基因信息;
匹配模块803,用于对第一用户的基因信息与每个候选用户的基因信息分别进行匹配,得到至少一个匹配值,每个匹配值用于表示对应候选用户的基因信息与第一用户的基因信息之间的匹配程度;
确定模块804,用于根据至少一个匹配值,确定第二用户,第二用户与第一用户匹配值满足条件;
推荐模块805,用于向第一用户推荐第二用户。
本实施例提供了一种利用区块链推荐婚恋好友的技术方案,通过将区块链技术以及基因工程技术结合起来,将用户的基因信息保存在区块链中,当用户需要推荐婚恋对象时,通过将用户的基因信息和其他用户的基因信息分别匹配,来找到与用户基因信息相互匹配的用户,从而向用户推荐合适的婚恋对象。由于区块链技术具有去中心化的特点,使用区块链来保存基因信息,可以规避中心化节点故障而导致数据泄露的风险,因此极大地提高了存储基因信息的安全性,避免用户信息泄露的风险,保障用户的隐私不被侵犯。并且,由于区块链中存储的数据不可篡改,可以保证匹配婚恋对象的过程中,使用的用户的基因信息是真实可信的,无法被伪造和篡改,那么使用真实可信的基因信息推荐出的婚恋对象,也可以保证可信性和准确性。另外,由于基因信息包含了用户的性格、用户的基因遗传风险等丰富的特征,使用基因信息来匹配婚恋对象,有助于找到与用户性格般配的婚恋对象,去除掉与用户结合后其后代患有遗传疾病风险概率大的对象,规避基因遗传的风险,如此,可以从性格的维度和遗传学的维度,为用户做出优质的推荐。
可选地,匹配模块803,包括:
编码子模块,用于对第一用户的基因信息以及每个候选用户的基因信息分别进行编码,得到第一用户的性格特征以及每个候选用户的性格特征;
获取子模块,用于根据第一用户的性格特征以及每个候选用户的性格特征,获取至少一个性格匹配值,每个性格匹配值用于表示对应候选用户的性格特征与第一用户的性格特征之间的匹配程度。
可选地,编码子模块,用于将第一用户的基因信息以及每个候选用户的基因信息分别输入性格识别模型,性格识别模型用于根据基因信息识别性格特征;通过性格识别模型对第一用户的基因信息以及每个候选用户的基因信息分别进行处理,输出第一用户的性格特征以及每个候选用户的性格特征。
可选地,至少一个匹配值包括至少一个遗传风险值,匹配模块803,包括:
组合子模块,用于对第一用户的基因序列与每个候选用户的基因序列分别进行组合,得到至少一个基因序列集合,每个基因序列集合包括第一用户的基因序列以及一个候选用户的基因序列;
获取子模块,用于根据至少一个基因序列集合,获取至少一个遗传风险值,每个遗传风险值为对应候选用户与第一用户的后代患有遗传病的概率。
可选地,组合子模块,用于:确定第一用户的基因序列包含的致病基因序列;确定每个候选用户的基因序列包含的致病基因序列;对第一用户的致病基因序列与每个候选用户的致病基因序列分别进行组合,得到至少一个基因序列集合,每个基因序列集合包括第一用户的致病基因序列以及一个候选用户的致病基因序列;
获取子模块,用于对于至少一个基因序列集合中的每个基因序列集合,根据基因致病信息,检测基因序列集合对应的遗传风险值,基因致病信息包括致病基因序列的遗传方式、突变概率、致病类型中的至少一项。
可选地,接收模块801,还用于从医疗机构服务器接收基因致病信息;
装置还包括:存储模块,用于将包括基因致病信息的第一区块存储至区块链系统的区块链上。
可选地,接收模块801,还用于从接收第一用户的授权信息,授权信息表示授权区块链系统使用基因信息进行用户推荐,授权信息包括第一用户的基因信息;
装置还包括:存储模块,用于将包括第一用户的基因信息的第二区块存储至区块链系统的区块链上。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的基于区块链的用户推荐装置在推荐用户时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将基于区块链的用户推荐装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于区块链的用户推荐装置与基于区块链的用户推荐方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述方法实施例中的区块链系统中的节点设备,例如第一节点设备、第二节点设备、第三节点设备或者第四节点设备等可以具有多种产品形态,例如,节点设备可以实现为终端。例如,图9示出了本申请一个示例性实施例提供的终端900的结构框图。该终端900可以是:智能手机、平板电脑、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:一个或多个处理器901和一个或多个存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一条程序代码,该至少一条程序代码用于被处理器901所执行以实现本申请中方法实施例提供的基于区块链的用户推荐方法。
在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、触摸显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置终端900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位终端900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制触摸显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端900的侧边框和/或触摸显示屏905的下层。当压力传感器913设置在终端900的侧边框时,可以检测用户对终端900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在触摸显示屏905的下层时,由处理器901根据用户对触摸显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置终端900的正面、背面或侧面。当终端900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制触摸显示屏905的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏905的显示亮度;当环境光强度较低时,调低触摸显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端900的前面板。接近传感器916用于采集用户与终端900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端900的正面之间的距离逐渐变小时,由处理器901控制触摸显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端900的正面之间的距离逐渐变大时,由处理器901控制触摸显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
上述方法实施例中的区块链系统中的节点设备,例如第一节点设备、第二节点设备、第三节点设备或者第四节点设备等可以具有多种产品形态,例如,节点设备可以实现为服务器。例如,图10是本申请实施例提供的一种服务器的结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(CentralProcessing Units,CPU)1001和一个或一个以上的存储器1002,其中,存储器1002中存储有至少一条程序代码,至少一条程序代码由处理器1001加载并执行以实现上述各个方法实施例提供的基于区块链的用户推荐方法。当然,该服务器还可以具有有线或无线网络接口以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条程序代码的存储器,上述至少一条程序代码可由处理器执行以完成上述实施例中的基于区块链的用户推荐方法。例如,计算机可读存储介质可以是只读存储器(Read-Only Memory,简称:ROM)、随机存取存储器(Random Access Memory,简称:RAM)、只读光盘(Compact DiscRead-Only Memory,简称:CD-ROM)、磁带、软盘和光数据存储设备等。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于区块链的用户推荐方法,其特征在于,应用于区块链系统中的节点设备上,所述方法包括:
接收第一用户的推荐请求,所述推荐请求包括所述第一用户的用户标识,所述推荐请求用于请求为所述第一用户推荐婚恋对象;
根据所述第一用户的用户标识,查询所述区块链系统存储的所述第一用户的基因信息;
对所述第一用户的基因信息与每个候选用户的基因信息分别进行匹配,得到至少一个匹配值,每个匹配值用于表示对应候选用户的基因信息与所述第一用户的基因信息之间的匹配程度;
根据所述至少一个匹配值,确定第二用户,所述第二用户与所述第一用户匹配值满足条件;
向所述第一用户推荐所述第二用户。
2.根据权利要求1所述的方法,其特征在于,所述至少一个匹配值包括至少一个性格匹配值,所述对所述第一用户的基因信息与每个候选用户的基因信息分别进行匹配,得到至少一个匹配值,包括:
对所述第一用户的基因信息以及每个候选用户的基因信息分别进行编码,得到所述第一用户的性格特征以及每个候选用户的性格特征;
根据所述第一用户的性格特征以及每个候选用户的性格特征,获取所述至少一个性格匹配值,每个性格匹配值用于表示对应候选用户的性格特征与所述第一用户的性格特征之间的匹配程度。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一用户的基因信息以及每个候选用户的基因信息分别进行编码,得到所述第一用户的性格特征以及每个候选用户的性格特征,包括:
将所述第一用户的基因信息以及每个候选用户的基因信息分别输入性格识别模型,所述性格识别模型用于根据基因信息识别性格特征;
通过所述性格识别模型对所述第一用户的基因信息以及每个候选用户的基因信息分别进行处理,输出所述第一用户的性格特征以及每个候选用户的性格特征。
4.根据权利要求1所述的方法,其特征在于,所述至少一个匹配值包括至少一个遗传风险值,所述对所述第一用户的基因信息与每个候选用户的基因信息分别进行匹配,得到至少一个匹配值,包括:
对所述第一用户的基因序列与每个候选用户的基因序列分别进行组合,得到至少一个基因序列集合,每个基因序列集合包括所述第一用户的基因序列以及一个候选用户的基因序列;
根据所述至少一个基因序列集合,获取所述至少一个遗传风险值,每个遗传风险值为对应候选用户与所述第一用户的后代患有遗传病的概率。
5.根据权利要求4所述的方法,其特征在于,所述对所述第一用户的基因序列与每个候选用户的基因序列分别进行组合,得到至少一个基因序列集合,包括:
确定所述第一用户的基因序列包含的致病基因序列;
确定每个候选用户的基因序列包含的致病基因序列;
对所述第一用户的致病基因序列与每个候选用户的致病基因序列分别进行组合,得到所述至少一个基因序列集合,每个基因序列集合包括所述第一用户的致病基因序列以及一个候选用户的致病基因序列;
所述根据所述至少一个基因序列集合,获取所述至少一个遗传风险值,包括:
对于所述至少一个基因序列集合中的每个基因序列集合,根据基因致病信息,检测所述基因序列集合对应的遗传风险值,所述基因致病信息包括致病基因序列的遗传方式、突变概率、致病类型中的至少一项。
6.根据权利要求5所述的方法,其特征在于,所述接收第一用户的推荐请求之前,所述方法还包括:
从医疗机构服务器接收所述基因致病信息;
将包括所述基因致病信息的第一区块存储至所述区块链系统的区块链上。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述第一用户的授权信息,所述授权信息表示授权所述区块链系统使用基因信息进行用户推荐,所述授权信息包括所述第一用户的基因信息;
将包括所述第一用户的基因信息的第二区块存储至所述区块链系统的区块链上。
8.一种基于区块链的用户推荐装置,其特征在于,所述装置包括:
接收模块,用于接收第一用户的推荐请求,所述推荐请求包括所述第一用户的用户标识,所述推荐请求用于请求为所述第一用户推荐婚恋对象;
查询模块,用于根据所述第一用户的用户标识,查询所述区块链系统存储的所述第一用户的基因信息;
匹配模块,用于对所述第一用户的基因信息与每个候选用户的基因信息分别进行匹配,得到至少一个匹配值,每个匹配值用于表示对应候选用户的基因信息与所述第一用户的基因信息之间的匹配程度;
确定模块,用于根据所述至少一个匹配值,确定第二用户,所述第二用户与所述第一用户匹配值满足条件;
推荐模块,用于向所述第一用户推荐所述第二用户。
9.一种节点设备,其特征在于,所述节点设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求7任一项所述的基于区块链的用户推荐方法所执行的操作。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至权利要求7任一项所述的基于区块链的用户推荐方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911181565.3A CN110909259A (zh) | 2019-11-27 | 2019-11-27 | 基于区块链的用户推荐方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911181565.3A CN110909259A (zh) | 2019-11-27 | 2019-11-27 | 基于区块链的用户推荐方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110909259A true CN110909259A (zh) | 2020-03-24 |
Family
ID=69818672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911181565.3A Pending CN110909259A (zh) | 2019-11-27 | 2019-11-27 | 基于区块链的用户推荐方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110909259A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523052A (zh) * | 2020-04-26 | 2020-08-11 | 支付宝实验室(新加坡)有限公司 | 基于区块链的用户推荐方法及装置、电子设备 |
CN112085566A (zh) * | 2020-09-07 | 2020-12-15 | 中国平安财产保险股份有限公司 | 基于智能决策的产品推荐方法、装置及计算机设备 |
CN112148759A (zh) * | 2020-09-24 | 2020-12-29 | 苏州七采蜂数据应用有限公司 | 一种基于云平台的择偶方法及系统 |
US20210241078A1 (en) * | 2020-01-30 | 2021-08-05 | Alibaba Group Holding Limited | Hyper-square implementation of tree allreduce algorithm for distributed parallel deep learning |
CN114219554A (zh) * | 2021-11-19 | 2022-03-22 | 建信金融科技有限责任公司 | 基于盲盒文化的产品分配方法、装置、电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070069901A1 (en) * | 2005-09-28 | 2007-03-29 | Tuck Edward F | Matching system |
US20100223281A1 (en) * | 2008-12-31 | 2010-09-02 | 23Andme, Inc. | Finding relatives in a database |
CN102867020A (zh) * | 2012-07-30 | 2013-01-09 | 成都西可科技有限公司 | 基于人物性格特征的交友匹配方法 |
TW201403534A (zh) * | 2012-07-12 | 2014-01-16 | Genomics Bioscience & Technology Co Ltd | 建立性格與基因關聯性模型的方法及其應用 |
CN104239399A (zh) * | 2014-07-14 | 2014-12-24 | 上海交通大学 | 社交网络中的潜在好友推荐方法 |
CN108154704A (zh) * | 2017-12-27 | 2018-06-12 | 武汉邮电科学研究院 | 基于区块链的智慧停车系统及方法 |
CN109829105A (zh) * | 2019-01-18 | 2019-05-31 | 王惟惟 | 一种可应用区块链技术的人工智能创作辅助系统 |
-
2019
- 2019-11-27 CN CN201911181565.3A patent/CN110909259A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070069901A1 (en) * | 2005-09-28 | 2007-03-29 | Tuck Edward F | Matching system |
US20100223281A1 (en) * | 2008-12-31 | 2010-09-02 | 23Andme, Inc. | Finding relatives in a database |
TW201403534A (zh) * | 2012-07-12 | 2014-01-16 | Genomics Bioscience & Technology Co Ltd | 建立性格與基因關聯性模型的方法及其應用 |
CN102867020A (zh) * | 2012-07-30 | 2013-01-09 | 成都西可科技有限公司 | 基于人物性格特征的交友匹配方法 |
CN104239399A (zh) * | 2014-07-14 | 2014-12-24 | 上海交通大学 | 社交网络中的潜在好友推荐方法 |
CN108154704A (zh) * | 2017-12-27 | 2018-06-12 | 武汉邮电科学研究院 | 基于区块链的智慧停车系统及方法 |
CN109829105A (zh) * | 2019-01-18 | 2019-05-31 | 王惟惟 | 一种可应用区块链技术的人工智能创作辅助系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210241078A1 (en) * | 2020-01-30 | 2021-08-05 | Alibaba Group Holding Limited | Hyper-square implementation of tree allreduce algorithm for distributed parallel deep learning |
US11620502B2 (en) * | 2020-01-30 | 2023-04-04 | Alibaba Group Holding Limited | Hyper-square implementation of tree AllReduce algorithm for distributed parallel deep learning |
CN111523052A (zh) * | 2020-04-26 | 2020-08-11 | 支付宝实验室(新加坡)有限公司 | 基于区块链的用户推荐方法及装置、电子设备 |
WO2021218778A1 (zh) * | 2020-04-26 | 2021-11-04 | 支付宝实验室(新加坡)有限公司 | 基于区块链的用户推荐 |
CN112085566A (zh) * | 2020-09-07 | 2020-12-15 | 中国平安财产保险股份有限公司 | 基于智能决策的产品推荐方法、装置及计算机设备 |
CN112085566B (zh) * | 2020-09-07 | 2023-04-28 | 中国平安财产保险股份有限公司 | 基于智能决策的产品推荐方法、装置及计算机设备 |
CN112148759A (zh) * | 2020-09-24 | 2020-12-29 | 苏州七采蜂数据应用有限公司 | 一种基于云平台的择偶方法及系统 |
CN114219554A (zh) * | 2021-11-19 | 2022-03-22 | 建信金融科技有限责任公司 | 基于盲盒文化的产品分配方法、装置、电子设备 |
CN114219554B (zh) * | 2021-11-19 | 2024-05-28 | 建信金融科技有限责任公司 | 基于盲盒文化的产品分配方法、装置、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110602089B (zh) | 基于区块链的医疗数据存储方法、装置、设备及存储介质 | |
CN110209952B (zh) | 信息推荐方法、装置、设备及存储介质 | |
CN110402561B (zh) | 基于通用账户模型和同态加密的区块链数据保护 | |
CN110909259A (zh) | 基于区块链的用户推荐方法、装置、设备及存储介质 | |
CN108696514B (zh) | 资源收集任务管理方法、装置、存储介质及系统 | |
CN108614878B (zh) | 协议数据管理方法、装置、存储介质及系统 | |
KR102452743B1 (ko) | 보안 및 신뢰성있는 아이덴티티 기반 컴퓨팅을 위한 방법들 및 시스템들 | |
JP2020503718A (ja) | ゼロ知識証明を用いたアカウント注釈モデルに基づくブロックチェーンデータの保護 | |
CN112132293A (zh) | 纵向联邦学习中的计算方法、装置、设备及介质 | |
CN111339086B (zh) | 区块处理方法、基于区块链的数据查询方法及装置 | |
CN110598482A (zh) | 基于区块链的数字证书管理方法、装置、设备及存储介质 | |
CN112257876A (zh) | 联邦学习方法、装置、计算机设备及介质 | |
CN111045568B (zh) | 基于区块链的虚拟物品处理方法、装置、设备及存储介质 | |
CN110597924B (zh) | 基于区块链的用户标识处理方法、装置、设备及存储介质 | |
CN110689460A (zh) | 基于区块链的交通事故数据处理方法、装置、设备及介质 | |
CN110933113B (zh) | 基于区块链的互动行为检测方法、装置、设备及存储介质 | |
CN111355732B (zh) | 链接检测方法、装置、电子设备及存储介质 | |
CN110598879A (zh) | 基于区块链的垃圾回收方法、装置、设备及存储介质 | |
CN110555780B (zh) | 基于区块链的保险数据处理方法、装置、设备及存储介质 | |
CN110598386B (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN110597906B (zh) | 基于区块链的入学积分生成方法、装置、设备及存储介质 | |
CN110826103A (zh) | 基于区块链的文档权限处理方法、装置、设备及存储介质 | |
WO2023137502A1 (en) | Crypto wallet configuration data retrieval | |
CN113034265A (zh) | 数据验证方法、装置、计算机设备及计算机可读存储介质 | |
CN111212074A (zh) | 基于区块链的资格认定方法、装置、设备及存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200324 |
|
WD01 | Invention patent application deemed withdrawn after publication |