CN108259489A - 一种投票数据处理方法、装置及电子设备 - Google Patents

一种投票数据处理方法、装置及电子设备 Download PDF

Info

Publication number
CN108259489A
CN108259489A CN201810027601.XA CN201810027601A CN108259489A CN 108259489 A CN108259489 A CN 108259489A CN 201810027601 A CN201810027601 A CN 201810027601A CN 108259489 A CN108259489 A CN 108259489A
Authority
CN
China
Prior art keywords
block
client
cryptographic hash
data
main broadcaster
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
Application number
CN201810027601.XA
Other languages
English (en)
Inventor
周志刚
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810027601.XA priority Critical patent/CN108259489A/zh
Publication of CN108259489A publication Critical patent/CN108259489A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4758End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for providing answers, e.g. voting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games

Abstract

本发明实施例公开了一种投票数据处理方法、装置及电子设备。本发明实施例方法包括:在直播平台的目标房间内开启投票时,第一客户端获取服务器下发的第一区块;第一客户端根据第一区块生成第二区块;第一客户端将第二区块发送给目标房间内的第二客户端,以使得第二客户端根据第二区块更新本地主播投票数据。本发明实施例中由于使用区块链技术记录及更新投票数据,使得目标房间内的第二客户端用户可以去查询整个投票数据账本,知晓哪个主播有哪些观众投过了票,并且通过查询区块链的账本还可以检测是否有观众进行重复投票,使得投票方式更为公平透明。

Description

一种投票数据处理方法、装置及电子设备
技术领域
本发明涉及计算机技术领域,特别涉及一种投票数据处理方法、装置及电子设备。
背景技术
视频直播是利用互联网及流媒体技术进行直播,随着网络通信技术的进步和宽带网络的提速,网络视频直播得到了越来越多的发展和应用。尤其在游戏直播领域,越来越多的观众会观看游戏主播的直播。
目前,直播平台为了增强其收入以及增加观众之间的互动,在直播平台会针对2个主播进行PK,观众则可以对2个主播进行投票,从而决胜出更优秀的主播。然而如果每个观众通过发送弹幕或者按钮来投票给主播,可能存在观众觉得不公平的现象,例如现有的投票也可能会产生一个人重复多次投票的情况,而目前又没办法有效校验投票的结果。因此需要一种方法能够解决重复投票的问题,让观众觉得投票结果更为公平。
发明内容
本发明实施例提供了一种投票数据处理方法、装置及电子设备,以解决目前重复投票及投票不公平的问题。
第一方面,本发明提供一种投票数据处理方法,所述方法包括:
在直播平台的目标房间内开启投票时,所述目标房间内的第一客户端获取服务器下发的第一区块,所述第一区块中包括当前可投票主播的标识信息;
所述第一客户端根据所述第一区块生成第二区块,所述第二区块中包括所述第一客户端的客户端标识信息,所述第二区块中包括所述第二客户端用户在所述可投票主播中投票的目标主播的标识信息;
所述第一客户端将所述第二区块发送给所述目标房间内的第二客户端,以使得所述第二客户端根据所述第二区块更新本地主播投票数据的区块链。
进一步的,所述第一区块和所述第二区块为同样的数据结构;
所述数据结构包括区块的块号、前一个区块的哈希值、当前时间、计算新区块需要的key值、计算新区块哈希值中前面0的个数,随机数据、当前区块的哈希值以及区块功能数据,所述区块功能数据包括当前客户端的用户标识以及用户投票主播的标识信息,所述随机数据用于加入到新区块中,以使得计算的当前区块的哈希值满足所述服务器下发的0的个数。
进一步的,所述第一客户端根据所述第一区块生成第二区块,包括:
根据所述第一区块的块号加1,得到所述第二区块的块号;
获取当前时间;
计算所述第一区块的哈希值,作为所述第二区块中前一个区块的哈希值;
计算所述第一区块的key值;
获取所述第一客户端的用户标识以及用户投票的所述目标主播的标识信息,得到所述第二区块功能数据;
随机生成第一随机数据,所述第一随机数据用于加入到所述第二区块中,以使得计算的所述第二区块的哈希值满足所述服务器下发的0的个数;
对所述第二区块的块号、当前时间、所述第一区块的哈希值、预置的计算新区块哈希值中前面0的个数、所述第一随机数据及所述第二区块功能数据进行哈希计算,得到所述第二区块的哈希值;
根据所述第二区块的块号、当前时间、所述第一区块的哈希值、计算新区块需要的key值、所述第一随机数据、计算新区块哈希值中前面0的个数、所述第二区块的哈希值及所述第二区块功能数据,按照所述数据结构生成所述第二区块。
进一步的,所述方法还包括:
所述第一客户端在接收到所述服务器发送的的所述第一区块时,校验所述第一区块的合法性。
进一步的,所述校验所述第一区块的合法性,包括:
判断所述第一区块的块号是否等于0,若否,则确定所述第一区块不合法;
判断所述第一区块中包括的所述第一区块的哈希值与计算的所述第一区块的整体数据的哈希值是否匹配,若否,则确定所述第一区块不合法。
第二方面,本发明提供一种投票数据处理装置,应用于客户端,所述客户端为直播平台上进入目标房间的客户端,所述装置包括:
获取模块,用于在直播平台的目标房间内开启投票时,获取服务器下发的第一区块,所述第一区块中包括当前可投票主播的标识信息;
生成模块,用于根据所述第一区块生成第二区块,所述第二区块中包括所述客户端的客户端标识信息,所述第二区块中包括所述第二客户端用户在所述可投票主播中投票的目标主播的标识信息;
发送模块,用于将所述第二区块发送给所述目标房间内的目标客户端,以使得所述目标客户端根据所述第二区块更新本地主播投票数据的区块链。
进一步的,所述第一区块和所述第二区块为同样的数据结构;
所述数据结构包括区块的块号、前一个区块的哈希值、当前时间、计算新区块需要的key值、计算新区块哈希值中前面0的个数,随机数据、当前区块的哈希值以及区块功能数据,所述区块功能数据包括当前客户端的用户标识以及用户投票主播的标识信息,所述随机数据用于加入到新区块中,以使得计算的当前区块的哈希值满足所述服务器下发的0的个数。
进一步的,所述生成模块具体用于:
根据所述第一区块的块号加1,得到所述第二区块的块号;
获取当前时间;
计算所述第一区块的哈希值,作为所述第二区块中前一个区块的哈希值;
计算所述第一区块的key值;
获取所述客户端的用户标识以及用户投票的所述目标主播的标识信息,得到所述第二区块功能数据;
随机生成第一随机数据,所述第一随机数据用于加入到所述第二区块中,以使得计算的所述第二区块的哈希值满足所述服务器下发的0的个数;
对所述第二区块的块号、当前时间、所述第一区块的哈希值、预置的计算新区块哈希值中前面0的个数、所述第一随机数据及所述第二区块功能数据进行哈希计算,得到所述第二区块的哈希值;
根据所述第二区块的块号、当前时间、所述第一区块的哈希值、计算新区块需要的key值、所述第一随机数据、计算新区块哈希值中前面0的个数、所述第二区块的哈希值及所述第二区块功能数据,按照所述数据结构生成所述第二区块。
进一步的,所述装置还包括:
校验模块,用于在接收到所述服务器发送的的所述第一区块时,校验所述第一区块的合法性。
进一步的,所述校验模块具体用于:
判断所述第一区块的块号是否等于0,若否,则确定所述第一区块不合法;
判断所述第一区块中包含的前一个区块的哈希值是否与预设哈希值匹配,若否,则确定所述第一区块不合法;
判断所述第一区块中包括的所述第一区块的哈希值与计算的所述第一区块的整体数据的哈希值是否匹配,若否,则确定所述第一区块不合法。
第三方面,本发明还提供一种电子设备,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现第一方面中任一所述的方法。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一所述的方法。
本发明实施例在直播平台的目标房间内开启投票时,第一客户端获取服务器下发的第一区块;第一客户端根据第一区块生成第二区块;第一客户端将第二区块发送给目标房间内的第二客户端,以使得第二客户端根据第二区块更新本地主播投票数据。由于第二区块中包括第一客户端的客户端标识信息以及用户在可投票主播中选择的目标主播的标识信息,因此对于第一客户端用户的投票,目标房间内的第二客户端可以更新记录到本地的区块中,另外由于使用区块链技术记录及更新投票数据,使得目标房间内的第二客户端用户可以去查询整个投票数据账本,知晓哪个主播有哪些观众投过了票,并且通过查询区块链的账本还可以检测是否有观众进行重复投票,使得投票方式更为公平透明。
附图说明
图1是本发明实施例中第一客户端侧投票数据处理方法的一个实施例示意图;
图2是本发明实施例中第一客户端侧投票数据处理方法的另一个实施例示意图;
图3是图1所示实施例中步骤S104的一个具体实施例示意图;
图4是本发明实施例中第一客户端侧投票数据处理装置的一个实施例示意图;
图5是本发明实施例中第一客户端侧投票数据处理装置的另一个实施例示意图;
图6是本发明实施例中第二客户端侧投票数据处理方法的一个实施例示意图;
图7是图6所示实施例中步骤S602的一个具体实施例示意图;
图8是图6所示实施例中步骤S602的另一个具体实施例示意图;
图9是在图6所示实施例基础上第二客户端侧投票数据处理方法的另一个实施例示意图;
图10是本发明实施例中第二客户端侧投票数据处理装置的一个实施例示意图;
图11是本发明实施例中第二客户端侧投票数据处理装置的另一个实施例示意图;
图12是本发明实施例中第二客户端侧投票数据处理装置的另一个实施例示意图;
图13是本发明实施例中电子设备的一个实施例示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例中投票数据方法应用于投票数据处理装置,该装置位于电子设备中,该电子设备可以是手机、平板电脑或者个人电脑等电子设备,也可以是未来出现有显示屏的电子设备等。
请参阅图1,为本发明实施例中投票数据处理方法一个实施例,该投票数据处理方法的执行主体为第一客户端,该方法包括:
S101、在直播平台的目标房间内开启投票时,目标房间内的第一客户端获取服务器下发的第一区块;
本实施例中,服务器即即直播平台对应的服务器,目标房间为直播平台上主播建立的直播间,第一客户端为进入该目标直播间的客户端。区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。本发明实施例中所涉及的区块均为根据区块链技术生成的区块,多个区块可以组成区块链。
具体的,该第一区块中包括当前可投票主播的标识信息,本发明实施例中,对所有可投票主播都分配独一无二的标识信息,例如每个主播的标识信息具体可以是用户身份证明(User Identification,UID),例如主播的名字对应的拼音字符,或者直播平台为每个主播分配的数字或/且编号,如11,A,11A等。
S102、第一客户端根据该第一区块生成第二区块;
具体的,该第二区块中包括所述第一客户端的客户端标识信息,以及第二客户端用户在可投票主播中投票的目标主播的标识信息。同样的,本发明实施例中,每个客户端的的标识信息也可以是客户端的UID,例如客户端的物理地址(Media Access Control,MAC)、产品序列号(Serial Number,SN)、国际移动设备身份码(International MobileEquipment Identity,IMEI)或者客户端的用户的UID(如用户在直播平台的注册用户信息)等。
S103、第一客户端将第二区块发送给目标房间内的第二客户端,以使得第二客户端根据第二区块更新本地主播投票数据的区块链。
具体的,该第二客户端可以是目标房间内的一个客户端,也可以是目标房间内的除第一客户端外的所有客户端,这样每个客户端用户进行主播投票后,该投票对应的区块则会发送给同一房间的所有其他用户对应的客户端,同步了投票数据。
本发明实施例在直播平台的目标房间内开启投票时,第一客户端获取服务器下发的第一区块;第一客户端根据第一区块生成第二区块;第一客户端将第二区块发送给目标房间内的第二客户端,以使得第二客户端根据第二区块更新本地主播投票数据。由于第二区块中包括第一客户端的客户端标识信息以及用户在可投票主播中选择的目标主播的标识信息,因此对于第一客户端用户的投票,目标房间内的第二客户端可以更新记录到本地的区块中,另外由于使用区块链技术记录及更新投票数据,使得目标房间内的第二客户端用户可以去查询整个投票数据账本,知晓哪个主播有哪些观众投过了票,并且通过查询区块链的账本还可以检测是否有观众进行重复投票,使得投票方式更为公平透明。
本发明实施例中,服务器在生成该第一区块之前,会预先定义好区块数据结构,该第一区块和第二区块为同样的数据结构;该数据结构包括区块的块号、前一个区块的哈希值、当前时间、计算新区块需要的key值、计算新区块哈希值中前面0的个数,随机数据、当前区块的哈希值以及区块功能数据,所述区块功能数据包括当前客户端的用户标识以及用户投票主播的标识信息,所述随机数据用于加入到新区块中,以使得计算的当前区块的哈希值满足所述服务器下发的0的个数。本发明实施例中,在服务器生成该第一区块时,按照预先定义的区块数据结构生成第一区块,同理,在第一客户端接收第一区块后,根据第一区块生成第二区块时,生成的第二区块也按照该预先定义的区块数据结构生成。
通常的一个区块必须包含一些必要的数据,从而一个是可以校验区块本身的合法性,另一个也使得其不易于伪造。具体的,本发明实施例中的区块数据结构则依赖于对投票数据进行校验的,所以在区块的数据结构中包含房间投票相关信息等。本发明实施例中区块数据结构具体可以如下:
Struct BlockData{
Int64 index;
String previousHash;
Int64 timestamp;
String key;
String data;
String zero;
String randdata;
String hash;
}
其中,index用来表示区块的块号,通常从0开始递增,即第一区块的区块的块号为0;previousHash表示前一个区块的HASH值;timestamp表示时间戳;key表示计算新区块需要的key值;data字段则是一些数据的拼接,这个data字段的内容则是依据区块所需要完成的功能所涉及的数据,即上述区块功能数据,包括投票的主播uid,客户端的用户uid,通过客户端的用户uid以及投给主播的uid,则可以知道此区块是谁投给谁,即当前客户端用户投给哪位主播;zero表示计算新区块的HASH值中前面0的个数据;randdata表示随机数据,用于加入到新的区块中,以使得其计算的哈希值结果满足服务器下发的0的个数;hash则表示当前这个区块内容的哈希值。
通过这个步骤就完成了区块链中区块的数据结构的设计,通过这个区数据结构的设计后,任何一个观众收到一个区块则可以对区块数据进行校验。
本发明实施例中同时设计了区块链中新区块生成的算法,首先初始的区块(如第一区块)是服务器生成的,服务器可以下发到每个登陆到直播平台目标房间的客户端,那么该目标房间的客户端收到初始区块后,需要算法来生成下一个区块。具体实现如下:首先已经获取到了上一个区块的数据结构,下一个区块则是依据上一个区块的数据进行生成。
本发明实施例中,假设上一个区块链的名字是prevblock,新生成的区块链的名字是newblock,具体生成新的区块链的过程如下:
(1)计算新的区块的区块号。
Newblock.index=prevblock.index+1;
则新的区块的块号是当前块号加1。
(2)计算新的区块的时间戳。
Newblock.timestamp=time();
新区块的时间戳则是获取当前的时间。
(3)计算新的区块的上一个区块的hash值(哈希值)。
Newblock.previousHash=prevblock.hash;
新区块的上一个区块的hash值则是获取的上一个区块的hash。
(4)计算新的区块的上一个区块的key值。
Newblock.key=prevblock.key;
新区块的上一个区块的key值则是获取的上一个区块的key。
(5)计算新的区块的数据。
Newblock.data=clientuid+uid。
其中,clientuid则是本次投票客户端的uid,uid则是投票给主播的uid。
(6)计算新的区块的第一随机数据randdata。
此randdata值则是客户端随机生成,以凑足正好整个新的区块计算的hash值前面满足服务器下发的0的个数。
(7)计算新的区块的hash值。
Newblock.hash=HASH(index+previousHash+timestamp+data+zero+randdata);
新区块的hash值则是有新区块的index字段和previousHash字段和timestamp字段和data字段。
其中使用的HASH算法则通常是SHA-256算法,当然也可以使用其他HASH算法。
具体的,上述步骤S102具体可以包括:
根据所述第一区块的块号加1,得到所述第二区块的块号;
获取当前时间;
计算所述第一区块的哈希值,作为所述第二区块中前一个区块的哈希值;
计算所述第一区块的key值;
获取所述客户端的用户标识以及用户投票的所述目标主播的标识信息,得到所述第二区块功能数据;
随机生成第一随机数据,所述第一随机数据用于加入到所述第二区块中,以使得计算的所述第二区块的哈希值满足所述服务器下发的0的个数;
对所述第二区块的块号、当前时间、所述第一区块的哈希值、预置的计算新区块哈希值中前面0的个数、所述第一随机数据及所述第二区块功能数据进行哈希计算,得到所述第二区块的哈希值;
根据所述第二区块的块号、当前时间、所述第一区块的哈希值、计算新区块需要的key值、所述第一随机数据、计算新区块哈希值中前面0的个数、所述第二区块的哈希值及所述第二区块功能数据,按照所述数据结构生成所述第二区块。
具体的,即上述第一区块的信息和第二区块的信息应用到上述步骤(1)~(7)中即为第一客户端根据第一区块生成第二区块的过程。
本发明实施例中,不管是客户端还是服务器,当其收到一个区块时,首先都会对区块进行合法性校验,以判断当前的区块是否是合法的,以防止黑客伪造区块,或者区块在网络中传输被修改等因素。所以每个区块都需要进行完整性校验。因此在本发明一些实施例中,如图2所示,所述方法还可以包括:
S104、第一客户端在接收到服务器发送的的所述第一区块时,校验第一区块的合法性。
进一步的,如图3所示,上述步骤S104具体可以包括:
S1041、判断第一区块的块号是否等于0,若否,则确定第一区块不合法;
S1042、判断第一区块中包括的第一区块的哈希值与计算的第一区块的整体数据的哈希值是否匹配,若否,则确定第一区块不合法。
具体的实现方式如下:
HASH(Newblock.index+Newblock.previousHash+Newblock.timestamp+Newblock.data+Newblock.randdata+Newblock.zero)!=Newblock.hash;
其中,第一区块为初始区块时,Newblock.previousHash不存在。
下面介绍本发明实施例中投票数据处理装置的实施例。
如图4所示,为本发明提供一种投票数据处理装置的一个实施例,该装置应用于客户端,所述客户端为直播平台上进入目标房间的客户端,所述装置包括:
获取模块401,用于在直播平台的目标房间内开启投票时,获取服务器下发的第一区块,所述第一区块中包括当前可投票主播的标识信息;
生成模块402,用于根据所述第一区块生成第二区块,所述第二区块中包括所述客户端的客户端标识信息,所述第二区块中包括所述第二客户端用户在所述可投票主播中投票的目标主播的标识信息;
发送模块403,用于将所述第二区块发送给所述目标房间内的目标客户端,以使得所述目标客户端根据所述第二区块更新本地主播投票数据的区块链。
进一步的,所述第一区块和所述第二区块为同样的数据结构;
所述数据结构包括区块的块号、前一个区块的哈希值、当前时间、计算新区块需要的key值、计算新区块哈希值中前面0的个数,随机数据、当前区块的哈希值以及区块功能数据,所述区块功能数据包括当前客户端的用户标识以及用户投票主播的标识信息,所述随机数据用于加入到新区块中,以使得计算的当前区块的哈希值满足所述服务器下发的0的个数。
进一步的,所述生成模块402具体用于:
根据所述第一区块的块号加1,得到所述第二区块的块号;
获取当前时间;
计算所述第一区块的哈希值,作为所述第二区块中前一个区块的哈希值;
计算所述第一区块的key值;
获取所述客户端的用户标识以及用户投票的所述目标主播的标识信息,得到所述第二区块功能数据;
随机生成第一随机数据,所述第一随机数据用于加入到所述第二区块中,以使得计算的所述第二区块的哈希值满足所述服务器下发的0的个数;
对所述第二区块的块号、当前时间、所述第一区块的哈希值、预置的计算新区块哈希值中前面0的个数、所述第一随机数据及所述第二区块功能数据进行哈希计算,得到所述第二区块的哈希值;
根据所述第二区块的块号、当前时间、所述第一区块的哈希值、计算新区块需要的key值、所述第一随机数据、计算新区块哈希值中前面0的个数、所述第二区块的哈希值及所述第二区块功能数据,按照所述数据结构生成所述第二区块。
进一步的,如图5所示,所述装置还包括:
校验模块404,用于在接收到所述服务器发送的的所述第一区块时,校验所述第一区块的合法性。
进一步的,所述校验模块404具体用于:
判断所述第一区块的块号是否等于0,若否,则确定所述第一区块不合法;
判断所述第一区块中包含的前一个区块的哈希值是否与预设哈希值匹配,若否,则确定所述第一区块不合法;
判断所述第一区块中包括的所述第一区块的哈希值与计算的所述第一区块的整体数据的哈希值是否匹配,若否,则确定所述第一区块不合法。
下面介绍本发明实施例中另一客户端侧的投票数据处理方法的实施例。
请参阅图6,为本发明实施例中投票数据处理方法的另一个实施例,该投票数据处理方法的执行主体为第二客户端,该方法包括:
S601、在直播平台的目标房间内开启投票时,目标房间内的第二客户端接收目标房间内的第一客户端发送的第二区块;
其中,第二区块为第一客户端根据直播平台服务器下发的第一区块生成的,第二区块中包括第一客户端的客户端标识信息,以及第一客户端用户在可投票主播中投票的目标主播的标识信息;
S602、第二客户端校验第二区块的合法性,若合法,则执行步骤S603;若不合法,可以直接返回区块错误信息。
S603、第二客户端根据第二区块更新本地主播投票数据的区块链。
本发明实施例在直播平台的目标房间内开启投票时,目标房间内的第二客户端接收目标房间内的第一客户端发送的第二区块,第二客户端校验第二区块的合法性;若合法,第二客户端根据第二区块更新本地主播投票数据的区块。由于第二区块为所述第一客户端根据直播平台服务器下发的第一区块生成的,第二区块中包括第一客户端的客户端标识信息,以及第一客户端用户在可投票主播中投票的目标主播的标识信息,因此对于第一客户端用户的投票,目标房间内的第二客户端可以更新记录到本地的区块链中,同时由于使用区块链技术记录及更新投票数据,使得目标房间内的第二客户端用户可以去查询整个投票数据账本,可以检测是否有用户进行重复投票,从而丢弃掉重复投票的区块,使得投票方式更为公平透明。
进一步的,如图7所示,上述步骤S602中校验所述第二区块的合法性,具体可以包括:
S6021、判断第二区块的块号是否等于第一区块的块号加1,若否,则确定第二区块不合法;
具体判断方式:Newblock.index!=prevblock.index+1;
如果新的区块的区块号(第二区块)不是上一个区块(第一区块)的区块号加1,则说明新的区块不合法,可以直接返回区块错误信息。
S6022、判断第二区块中包含的前一个区块的哈希值是否与预设哈希值匹配,若否,则确定第二区块不合法;
具体判断方式:Newblock.previousHash!=prevblock.hash
如果新的区块(第二区块)的上一个区块(第一区块)的hash值不等于上一个区块(第一区块)的hash值则认为新的区块(第二区块)不合法,可以直接返回区块错误信息。
S6023、判断第二区块中包括的第二区块的哈希值与计算的第二区块的整体数据的哈希值是否匹配,若否,则确定第二区块不合法。
具体的实现方式可以是:新的区块(第二区块)的hash值是新区块的整个数据的hash结果,具体如下:
HASH(Newblock.index+Newblock.previousHash+Newblock.timestamp+Newblock.data+Newblock.randdata+Newblock.zero)!=Newblock.hash;
如果新的区块(第二区块)的整个区块的数据的hash值不等于新的区块(第二区块)hash值,则认为新的区块(第二区块)不合法,可以直接返回区块错误信息。
进一步的,上述步骤S602中校验所述第二区块的合法性还包括:
校验第二区块中投票的目标主播的标识信息是否为服务器下发的可投票主播中的一位,若否,则确定第二区块不合法。具体的可以通过获取第二区块中data值来判断投票的主播的uid是不是服务器下发的可投票主播中的某个主播的uid,如果不是确定第二区块为一个非法的区块数据。
进一步的,如图8所示,上述步骤S602中校验所述第二区块的合法性,还包括:
S6024、校验所述第二区块中投票数据的有效性,若无效,则确定所述第二区块不合法。
本发明实施例中,新的区块中区块功能数据(如上述举例的data值)中包含客户端的标识信息(如客户端的uid),从而每个收到新区块的客户端则可以从区块链账本中查找其他区块,判断此客户端的标识信息是否已经投过票,如果投过则说明此区块存在重复投票,为非法的投票行为,则可以丢弃此区块的投票。此时,步骤S6024中校验所述第二区块中投票数据的有效性具体可以包括:
根据第一客户端的客户端标识信息,在第二客户端本地主播投票数据的区块链中查找所述第一客户端的投票记录,确定第一客户端用户是否重复投票,若重复投票,则确定第二区块不合法。
进一步的,在校验所述第二区块中投票数据的有效性之前,所述方法包括:
定义一个数据结构来存储所述目标房间内所有已投票客户端的客户端标识信息,具体实现如下:
vector<int>vecUid定义一个数据结构来存储所有客户端的uid。
For(int i=0;i<block.num;i++)
此时,上述在所述第二客户端本地主播投票数据的区块链中查找所述第一客户端的投票记录,确定所述第一客户端用户是否重复投票,包括:
获取所述第二区块中的第一客户端的客户端标识信息;
若所述第一客户端的客户端标识信息存在所述已投票客户端的客户端标识信息中,则确定第一客户端用户已重复投票。
具体的过程如下:
编写一个循环来遍历所有的区块,取出第二区块的第一客户端的uid:
vecUid.push_back(block.data.Clientuid);
}
然后判的第二区块的Clientuid是否可以已经存在于vecUid中,如果存在则说明此客户端已经投过一次票,则认为第二区块是非法的区块,否则是合法区块,则加入到第二客户端本地保存的区块链中。同时在确定第一客户端用户未重复投票时,将第一客户端的客户端标识信息保存在上述定义的数据结构中。
由于区块链的本身特性,使得每个客户端都可以获取到所有投票的结果,从而可以从账本中查询所有的区块来获取每一个主播的投票次数,从而每个客户端都可以有自己的一个投票结果,从而给观众认为此种投票方法更为公平透明。因此,进一步的,如图9所示,所述方法还包括:
S901、获取第二客户端用户的投票结果查询指令;
S902、遍历第二客户端本地保存的所有投票数据对应的区块链,获取每个区块中的投票主播的标识信息;
S903、统计目标房间内用户对各主播的投票次数,并在第二客户端显示界面显示统计结果。
具体的,以服务器下发2个主播(主播A和主播B)来个目标房间内用户投票为例进行介绍:
具体实现则客户端去遍历所有区块,从区块的data字段中可以获取到主播的uid,从而可以统计出现的次数则是该主播的投票票数。在获取到用户的投票结果查询指令后,查询主播投票票数的方式具体实现如下:
Int nCountA=0;
Int nCountB=0;
首先定义一个数据来统计2个主播的投票次数。
For(int i=0;i<block.num;i++)
{
然后编写一个循环来遍历所有的区块,取出其中的区块的主播的uid。
If(uid==Auid)//判断当前区块的uid是不是主播A的uid。
{
nCountA++;//主播A次数加1
}
Else
{
nCountB++;//主播B次数加1
}
}
最终得到nCountA和nCountB,从而得到2个主播的投票次数。
本发明实施例中,第二客户端在接收其他客户端(如第一客户端)的投票区块后,该第二客户端用户还可以自己对主播进行投票生成对应的区块,此时,进一步的,所述方法还包括:
在所述目标房间内开启投票时,第二客户端获取服务器下发的第一区块,其中,第一区块中包括当前可投票主播的标识信息;
第二客户端根据所述第一区块生成第三区块,第三区块中包括所述第二客户端的客户端标识信息,以及第二客户端用户在所述可投票主播中投票主播的标识信息;
第二客户端将第三区块发送给所述目标房间内的第三客户端,以使得第三客户端根据第三区块更新本地主播投票数据的区块链。
上述过程与本发明实施例中实施例一中第一客户端侧的投票数据处理方法的过程类似,此处不再赘述。
下面介绍本发明实施例中第二客户端侧的投票数据处理装置的实施例。
请参阅图10,为本申请提供一种投票数据处理装置的一个实施例,该装置应用于客户端,所述客户端为直播平台上进入目标房间的客户端,该装置包括:
接收模块1001,在直播平台的目标房间内开启投票时,接收所述目标房间内的目标客户端发送的第二区块,其中,所述第二区块为所述目标客户端根据直播平台服务器下发的第一区块生成的,所述第二区块中包括所述目标客户端的客户端标识信息,以及所述目标客户端用户在可投票主播中投票的目标主播的标识信息;
校验模块1002,用于校验所述第二区块的合法性;
更新模块1003,用于在所述第二区块合法时,根据所述第二区块更新本地主播投票数据的区块链。
进一步的,所述校验模块1002具体用于:
判断所述第二区块的块号是否等于第一区块的块号加1,若否,则确定所述第二区块不合法;
判断所述第二区块中包含的前一个区块的哈希值是否与预设哈希值匹配,若否,则确定所述第二区块不合法;
判断所述第二区块中包括的所述第二区块的哈希值与计算的所述第二区块的整体数据的哈希值是否匹配,若否,则确定所述第二区块不合法。
进一步的,所述校验模块1002具体用于:
校验所述第二区块中投票数据的有效性,若无效,则确定所述第二区块不合法。
进一步的,所述校验模块1002具体用于:
根据所述第一客户端的客户端标识信息,在所述第二客户端本地主播投票数据的区块链中查找所述第一客户端的投票记录,确定所述第一客户端用户是否重复投票,若重复投票,则确定所述第二区块不合法。
进一步的,如图11所示,所述装置还包括:
定义模块1004,用于在校验所述第二区块中投票数据的有效性之前,定义一个数据结构来存储所述目标房间内所有已投票客户端的客户端标识信息;
所述校验模块1002具体用于:
获取所述第二区块中的所述第一客户端的客户端标识信息;
若所述第一客户端的客户端标识信息存在所述已投票客户端的客户端标识信息中,则确定所述第一客户端用户已重复投票。
进一步的,如图12所示,所述装置还包括查询模块1005,所述查询模块具体用于:
获取第二客户端用户的投票结果查询指令;
遍历所述第二客户端本地保存的所有投票数据对应的区块,获取每个区块中的投票主播的标识信息;
统计所述目标房间内用户对各主播的投票次数,并在所述第二客户端显示界面显示统计结果。
进一步的,所述装置还包括:
获取模块,用于在所述目标房间内开启投票时,获取所述服务器下发的第一区块,所述第一区块中包括当前可投票主播的标识信息;
生成模块,用于根据所述第一区块生成第三区块,所述第三区块中包括所述客户端的客户端标识信息,以及所述客户端用户在所述可投票主播中投票主播的标识信息;
发送模块,用于将所述第三区块发送给所述目标房间内的第三客户端,以使得所述第三客户端根据所述第三区块更新本地主播投票数据的区块链。
如图13所示,本发明还提供一种电子设备,包括:存储器1301,处理器1302及存储在所述存储器1301上并可在所述处理器上运行的计算机程序1303,其中,所述处理器1302执行所述计算机程序1303时可以实现投票数据处理方法中任一所述的方法。
需要说明的是,本申请涉及的电子设备包括但不限于是:移动终端(手机、智能手机、PAD、笔记本电脑等等)、固定终端(计算机)。
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器901可用于存储计算机程序903,上述计算机程序包括软件程序、模块和数据,处理器902通过运行执行存储在存储器901的计算机程序903,从而执行电子设备的各种功能应用以及数据处理。
在具体的实施过程中,存储器901可用于存储软件程序以及模块,处理器902通过运行存储在存储器901的软件程序以及模块,从而执行电子设备的各种功能应用以及数据处理。存储器901可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如游戏类应用程序、聊天类应用程序)等;存储数据区可存储根据电子设备的使用所创建的数据(游戏配置数据、音频数据)等。此外,存储器901可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器902是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器901内的软件程序和/或模块,以及调用存储在存储器901内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器902可包括一个或多个处理单元;优选的,处理器902可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现投票数据处理方法中任一所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种投票数据处理方法,其特征在于,所述方法包括:
在直播平台的目标房间内开启投票时,所述目标房间内的第一客户端获取服务器下发的第一区块,所述第一区块中包括当前可投票主播的标识信息;
所述第一客户端根据所述第一区块生成第二区块,所述第二区块中包括所述第一客户端的客户端标识信息,以及所述第二客户端用户在所述可投票主播中投票的目标主播的标识信息;
所述第一客户端将所述第二区块发送给所述目标房间内的第二客户端,以使得所述第二客户端根据所述第二区块更新本地主播投票数据的区块链。
2.根据权利要求1所述的方法,其特征在于,所述第一区块和所述第二区块为同样的数据结构;
所述数据结构包括区块的块号、前一个区块的哈希值、当前时间、计算新区块需要的key值、计算新区块哈希值中前面0的个数,随机数据、当前区块的哈希值以及区块功能数据,所述区块功能数据包括当前客户端的用户标识以及用户投票主播的标识信息,所述随机数据用于加入到新区块中,以使得计算的当前区块的哈希值满足所述服务器下发的0的个数。
3.根据权利要求2所述的方法,其特征在于,所述第一客户端根据所述第一区块生成第二区块,包括:
根据所述第一区块的块号加1,得到所述第二区块的块号;
获取当前时间;
计算所述第一区块的哈希值,作为所述第二区块中前一个区块的哈希值;
计算所述第一区块的key值;
获取所述第一客户端的用户标识以及用户投票的所述目标主播的标识信息,得到所述第二区块功能数据;
随机生成第一随机数据,所述第一随机数据用于加入到所述第二区块中,以使得计算的所述第二区块的哈希值满足所述服务器下发的0的个数;
对所述第二区块的块号、当前时间、所述第一区块的哈希值、预置的计算新区块哈希值中前面0的个数、所述第一随机数据及所述第二区块功能数据进行哈希计算,得到所述第二区块的哈希值;
根据所述第二区块的块号、当前时间、所述第一区块的哈希值、计算新区块需要的key值、所述第一随机数据、计算新区块哈希值中前面0的个数、所述第二区块的哈希值及所述第二区块功能数据,按照所述数据结构生成所述第二区块。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一客户端在接收到所述服务器发送的的所述第一区块时,校验所述第一区块的合法性。
5.根据权利要求4所述的方法,其特征在于,所述校验所述第一区块的合法性,包括:
判断所述第一区块的块号是否等于0,若否,则确定所述第一区块不合法;
判断所述第一区块中包括的所述第一区块的哈希值与计算的所述第一区块的整体数据的哈希值是否匹配,若否,则确定所述第一区块不合法。
6.一种投票数据处理装置,其特征在于,应用于客户端,所述客户端为直播平台上进入目标房间的客户端,所述装置包括:
获取模块,用于在直播平台的目标房间内开启投票时,获取服务器下发的第一区块,所述第一区块中包括当前可投票主播的标识信息;
生成模块,用于根据所述第一区块生成第二区块,所述第二区块中包括所述客户端的客户端标识信息,以及所述第二客户端用户在所述可投票主播中投票的目标主播的标识信息;
发送模块,用于将所述第二区块发送给所述目标房间内的目标客户端,以使得所述目标客户端根据所述第二区块更新本地主播投票数据的区块链。
7.根据权利要求6所述的装置,其特征在于,所述第一区块和所述第二区块为同样的数据结构;
所述数据结构包括区块的块号、前一个区块的哈希值、当前时间、计算新区块需要的key值、计算新区块哈希值中前面0的个数,随机数据、当前区块的哈希值以及区块功能数据,所述区块功能数据包括当前客户端的用户标识以及用户投票主播的标识信息,所述随机数据用于加入到新区块中,以使得计算的当前区块的哈希值满足所述服务器下发的0的个数。
8.根据权利要求7所述的装置,其特征在于,所述生成模块具体用于:
根据所述第一区块的块号加1,得到所述第二区块的块号;
获取当前时间;
计算所述第一区块的哈希值,作为所述第二区块中前一个区块的哈希值;
计算所述第一区块的key值;
获取所述客户端的用户标识以及用户投票的所述目标主播的标识信息,得到所述第二区块功能数据;
随机生成第一随机数据,所述第一随机数据用于加入到所述第二区块中,以使得计算的所述第二区块的哈希值满足所述服务器下发的0的个数;
对所述第二区块的块号、当前时间、所述第一区块的哈希值、预置的计算新区块哈希值中前面0的个数、所述第一随机数据及所述第二区块功能数据进行哈希计算,得到所述第二区块的哈希值;
根据所述第二区块的块号、当前时间、所述第一区块的哈希值、计算新区块需要的key值、所述第一随机数据、计算新区块哈希值中前面0的个数、所述第二区块的哈希值及所述第二区块功能数据,按照所述数据结构生成所述第二区块。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
校验模块,用于在接收到所述服务器发送的的所述第一区块时,校验所述第一区块的合法性。
10.一种电子设备,其特征在于,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现权利要求1至5任一所述的方法。
CN201810027601.XA 2018-01-11 2018-01-11 一种投票数据处理方法、装置及电子设备 Pending CN108259489A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810027601.XA CN108259489A (zh) 2018-01-11 2018-01-11 一种投票数据处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810027601.XA CN108259489A (zh) 2018-01-11 2018-01-11 一种投票数据处理方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN108259489A true CN108259489A (zh) 2018-07-06

Family

ID=62726298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810027601.XA Pending CN108259489A (zh) 2018-01-11 2018-01-11 一种投票数据处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN108259489A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109903450A (zh) * 2019-03-28 2019-06-18 深圳职业技术学院 电子投票方法以及系统
CN110263579A (zh) * 2018-11-16 2019-09-20 腾讯科技(深圳)有限公司 一种数据处理方法、系统及相关设备
CN110740133A (zh) * 2019-10-15 2020-01-31 北京华宇九品科技有限公司 一种基于rtmp协议的网络投票和选举方法及系统
CN113163213A (zh) * 2020-01-22 2021-07-23 腾讯科技(深圳)有限公司 比赛直播方法、设备及存储介质
CN113744445A (zh) * 2021-09-06 2021-12-03 北京雷石天地电子技术有限公司 一种比赛投票方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170109955A1 (en) * 2015-10-20 2017-04-20 Follow My Vote, Inc. Blockchain electronic voting system and method
CN107045518A (zh) * 2016-10-18 2017-08-15 北京天德科技有限公司 一种区块链的扩展设计方法
CN107294727A (zh) * 2017-05-22 2017-10-24 联动优势科技有限公司 一种电子投票方法、终端设备以及区块链网络
US20170330174A1 (en) * 2016-05-11 2017-11-16 Nasdaq, Inc. Application framework using blockchain-based asset ownership
US20170352219A1 (en) * 2015-08-06 2017-12-07 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170352219A1 (en) * 2015-08-06 2017-12-07 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
US20170109955A1 (en) * 2015-10-20 2017-04-20 Follow My Vote, Inc. Blockchain electronic voting system and method
US20170330174A1 (en) * 2016-05-11 2017-11-16 Nasdaq, Inc. Application framework using blockchain-based asset ownership
CN107045518A (zh) * 2016-10-18 2017-08-15 北京天德科技有限公司 一种区块链的扩展设计方法
CN107294727A (zh) * 2017-05-22 2017-10-24 联动优势科技有限公司 一种电子投票方法、终端设备以及区块链网络

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263579A (zh) * 2018-11-16 2019-09-20 腾讯科技(深圳)有限公司 一种数据处理方法、系统及相关设备
CN109903450A (zh) * 2019-03-28 2019-06-18 深圳职业技术学院 电子投票方法以及系统
CN110740133A (zh) * 2019-10-15 2020-01-31 北京华宇九品科技有限公司 一种基于rtmp协议的网络投票和选举方法及系统
CN113163213A (zh) * 2020-01-22 2021-07-23 腾讯科技(深圳)有限公司 比赛直播方法、设备及存储介质
CN113163213B (zh) * 2020-01-22 2023-12-08 腾讯科技(深圳)有限公司 比赛直播方法、设备及存储介质
CN113744445A (zh) * 2021-09-06 2021-12-03 北京雷石天地电子技术有限公司 一种比赛投票方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN108259489A (zh) 一种投票数据处理方法、装置及电子设备
CN108260015A (zh) 一种投票数据处理方法、装置及电子设备
US11714876B1 (en) Real-time event transcription system and method
CN111708825A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN108256353A (zh) 一种数据完整性校验方法、装置及客户端
CN109165945A (zh) 代表节点设备选举方法、装置、计算机设备及存储介质
CN106095814B (zh) 联系人处理方法及服务器
EP3701667B1 (en) Anonymity system for goods delivery
CN107871242A (zh) 广告投放系统及方法
CN108764966A (zh) 广告投放方法、区块链节点设备及相关设备
CN107465698A (zh) 一种数据校验方法及服务器
CN107679149A (zh) 一种数据处理方法及服务器
CN104317804B (zh) 发布投票信息的方法和装置
CN109671205A (zh) 基于区块链的投票方法、装置、设备及计算机存储介质
CN108696511A (zh) 一种基于区块链的信息公示方法、装置及相关设备
CN107682328A (zh) 一种数据校验方法及客户端
CN107623865A (zh) 一种数据校验方法及服务器
CN107798538A (zh) 一种交易核算方法及客户端
CN107426253A (zh) 一种数据校验方法及客户端
CN105225328B (zh) 基于人脸特征识别的移动终端电子投票方法及系统
CN108898728A (zh) 智能交互设备及其投票方法、装置和系统
CN111241196A (zh) 广告频次控制方法及系统
CN106060097B (zh) 一种信息安全竞赛的管理系统及管理方法
CN108898440A (zh) 流量兑换方法和装置
CN107528855A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180706