一种基于区块链的汉字串统计方法及系统与流程

文档序号:18703319发布日期:2019-09-17 23:15阅读:151来源:国知局
一种基于区块链的汉字串统计方法及系统与流程
本说明书实施例涉及信息
技术领域
,尤其涉及一种基于区块链的汉字串统计方法及系统。
背景技术
:用户在向智能设备中输入汉字时,通常会使用智能设备上安装的输入法软件。输入法软件会根据用户输入的字母串确定相匹配的汉字串。当存在不止一个汉字串与用户输入的字母串相匹配时,输入法软件会将匹配的各汉字串按一定的次序排列(即汉字串队列)展示给用户进行选择,用户选择的汉字串即是用户想要输入的汉字串。一般而言,用户想要输入的汉字串在汉字串队列中的排位越靠前,用户就可以更便利地选择想要输入的汉字串,输入汉字的效率也就越高。然而对于目前的输入法软件而言,用户想要输入的汉字串很多时候在汉字串队列中的排位并不靠前,导致对于使用输入法软件的多个用户而言,这多个用户输入汉字的平均效率较低。技术实现要素:为了提升多个用户输入汉字的平均效率,本说明书实施例提供一种基于区块链的汉字串统计方法及系统,技术方案如下:根据本说明书实施例的第1方面,提供一种基于区块链的汉字串统计方法,用于根据多个用户的输入法操作,针对可输入的每个字母串,统计匹配于该字母串的每个汉字串被选择的次数;所述多个用户预先在区块链网络上进行注册;所述区块链网络存储有统计表,所述统计表中的每个统计记录包括字母串字段、汉字串字段以及统计字段;所述方法包括:针对每个用户,该用户登录的输入法客户端每当监测到该用户输入任一字母串并选择匹配于该字母串的任一汉字串时,构建包含该用户输入的字母串与该用户选择的汉字串的统计交易;所述输入法客户端将所述统计交易提交给区块链网络;所述区块链网络根据所述统计交易,在所述统计表中定位满足定位条件的统计记录;所述定位条件为,包括的字母串字段的值为该用户输入的字母串,且包括的汉字串字段的值为该用户选择的汉字串;所述区块链网络增加定位到的统计记录所包括的统计字段的值。根据本说明书实施例的第2方面,提供一种基于区块链的汉字串统计系统,用于根据多个用户的输入法操作,针对可输入的每个字母串,统计匹配于该字母串的每个汉字串被选择的次数;所述多个用户预先在区块链网络上进行注册;所述区块链网络存储有统计表,所述统计表中的每个统计记录包括字母串字段、汉字串字段以及统计字段;所述系统包括:所述区块链网络与若干输入法客户端;针对每个用户该用户登录的输入法客户端,每当监测到该用户输入任一字母串并选择匹配于该字母串的任一汉字串时,构建包含该用户输入的字母串与该用户选择的汉字串的统计交易;将所述统计交易提交给区块链网络;所述区块链网络,根据所述统计交易,在所述统计表中定位满足定位条件的统计记录;所述定位条件为,包括的字母串字段的值为该用户输入的字母串,且包括的汉字串字段的值为该用户选择的汉字串;增加定位到的统计记录所包括的统计字段的值。根据本说明书实施例的第3方面,提供一种基于第1方面方法中的统计表的汉字输入方法,输入法客户端从区块链网络获取统计表并存储,所述汉字输入方法包括:所述输入法客户端接收用户输入的字母串;从存储的统计表中提取字母串字段的值为所述字母串的各统计记录;按统计字段的值由大到小的顺序,对所述各统计记录的汉字串字段的值进行排序,得到汉字串队列;将所述汉字串队列展示给所述用户,并将所述用户选择的汉字串确定为输入的汉字串。本说明书实施例所提供的技术方案,针对多个用户中的每个用户,该用户在使用输入法软件输入汉字时,输入法软件会将该用户输入的字母串与该用户选择的汉字串一并上传到区块链网络,由区块链网络据此更新统计表。这意味着,多个用户分别在使用输入法软件的过程中,区块链网络可以针对可输入的每个字母串,统计匹配于该字母串的每个汉字串被选择的次数。针对匹配于该字母串的任一汉字串而言,该汉字串被选择的次数越多,说明该汉字串在统计学意义上越大概率被用户选中,那么,为了提升多个用户输入汉字的平均效率,该汉字串在该字母串对应的汉字串队列中的排位就应当越靠前。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要通过的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本说明书实施例提供的一种基于区块链的汉字串统计方法的流程示意图;图2是本说明书实施例提供的一种汉字输入方法的流程示意图;图3是本说明书实施例提供的一种基于区块链的汉字串统计系统的结构示意图;图4是本说明书实施例提供的一种基于区块链的汉字串统计装置的结构示意图;图5是本说明书实施例提供的一种基于区块链的汉字串统计装置的结构示意图;图6是本说明书实施例提供的一种汉字输入装置的结构示意图;图7是用于配置本说明书实施例装置的一种计算机设备的结构示意图。具体实施方式此处对本发明的技术思想进行说明。本发明的目的是提升多个用户输入汉字的平均效率,而不是提升单个用户输入汉字的效率。因此,在本说明书的一个或多个实施例中,对多个用户使用输入法软件输入汉字的情况进行统计,统计出每个可输入的字母串所匹配的每个汉字串的出现频次,得到统计表,并且,随着多个用户持续使用输入法软件,统计表会持续更新。输入法软件可以基于统计表向用户展示的汉字串队列,用户有很大概率在汉字串队列中靠前的排位选择到自己想要输入的汉字串。如此,就会提升多个用户使用输入法软件输入汉字的平均效率。此外,在本说明书实施例中,由区块链网络而不是中心化设备负责统计工作(即维护统计表)。这是因为,在实践中,中心化设备如果出现技术故障,统计出错,会直接影响到统计表的准确性,进而降低多个用户输入汉字的平均效率。而区块链网络是由多个节点组成,每个节点上都维护有统计表,各节点可以分布式地进行统计,并且,由于各节点间的共识算法具有容错性,因此,哪怕个别节点出现技术故障,也不会影响到统计表的准确性。为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。以下结合附图,详细说明本说明书各实施例提供的技术方案。图1是本说明书实施例提供的一种基于区块链的汉字串统计方法的流程示意图,包括如下步骤:s100:针对每个用户,该用户登录的输入法客户端每当监测到该用户输入任一字母串并选择匹配于该字母串的任一汉字串时,构建包含该用户输入的字母串与该用户选择的汉字串的统计交易。图1所示的方法用于根据多个用户的输入法操作,针对可输入的每个字母串,统计匹配于该字母串的每个汉字串被选择的次数。字母串包含至少一个字母,汉字串包含至少一个汉字。可输入的字母串是指,输入法软件支持用户输入的、用于匹配汉字串的字母串。例如,输入法软件支持用户输入字母串“jishu”,可匹配到的汉字串为“技术”、“基数”、“奇数”、“级数”等等。需要说明的是,本文所述的输入法软件不仅可以是拼音输入法软件,还可以是利用键盘上的字母进行汉字输入的其他输入法软件,如五笔输入法软件。还需要说明的是,对于拼音输入法软件而言,可输入的字母串除了可以是全拼形式之外,还可以是简拼缩写形式的。例如,用户如果想要输入汉字串“技术”,则既可以向输入法软件输入字母串“jishu”,也可以向输入法软件输入字母串“js”。字母串“js”匹配的汉字串可以具体是“技术”、“健身”、“接收”等。在多个用户使用输入法软件的过程中,针对每个字母串,匹配于该字母串的某个汉字串被选择的次数越多,说明该汉字串在输入法软件向用户展示的对应于该字母串的汉字串队列中的排位应越靠前。需要说明的是,汉字串队列中,每个队列成员为一个汉字串。在本说明书实施例中,从软件层面看,输入法客户端即是指输入法软件;从硬件层面看,输入法客户端是指安装有输入法软件的设备。在本说明书实施例中,一方面,输入法客户端中需要内置区块链功能模块(如区块链软件开发工具包),用于对接区块链网络,这样,输入法客户端中就可以登录区块链账户。另一方面,多个用户需要预先在区块链网络中进行注册,开通区块链账户。用户在使用输入法客户端时,需要首先登录自己的区块链账户。在本说明书实施例中,区块链网络存储有统计表,用于统计。所述统计表中的每个统计记录包括字母串字段、汉字串字段以及统计字段,如下表1。字母串字段汉字串字段统计字段js技术0js健身0…………0dm代码0表1需要说明的是,所述统计表并不是输入法软件中内置的词库。在初始化创建所述统计表时,可以穷尽可输入的每个字母串,以及可输入的每个字母串匹配的每个汉字串,得到全量的统计记录。在初始化创建所述统计表时,可以不穷尽可输入的每个字母串,以及可输入的每个字母串匹配的每个汉字串。在后续执行统计工作时,如果不存在对应于当前用户输入的字母串与选择的汉字串的统计记录,就临时创建该统计记录。在初始化创建所述统计表时,统计记录的统计字段的值是根据统计的汉字串被选择的次数确定的,统计字段的值可以是统计的次数本身,也可以是根据统计的次数确定的值,总之,统计字段的值应当满足,统计的次数越多,统计字段的值越大。在本说明书实施例中,用户当需要输入某个汉字串(如技术)时,首先需要向登录的软件客户端输入字母串(如js),输入法客户端一方面会为用户输入的字母串匹配相应的汉字串队列供用户选择汉字串输入,另一方面会构建包含该用户输入的字母串与该用户选择的汉字串的统计交易,以便将统计交易提交给区块链网络进行统计。s102:所述输入法客户端将所述统计交易提交给区块链网络。s104:所述区块链网络根据所述统计交易,在所述统计表中定位满足定位条件的统计记录。所述定位条件为,定位到的统计记录包括的字母串字段的值为该用户输入的字母串,且定位到的统计记录包括的汉字串字段的值为该用户选择的汉字串。具体而言,作为一种可选的实施方式,可以预先在区块链网络中部署智能合约,智能合约中记载有统计记录定位逻辑。如此,在步骤s104中,区块链网络的每个节点通过调用部署的智能合约,执行智能合约中记载的统计记录定位逻辑,即在统计表中定位满足定位条件的统计记录。相应地,在上述这种实施方式中,统计表需要由智能合约负责维护。这意味着所述统计表是锚定于区块链的,每次更新的更新记录都会存证于区块链中,可供查阅。此外,作为另一种可选的实施方式,可以针对区块链网络的每个节点,预先在该节点的固件中写入统计记录定位逻辑。如此,在步骤s104中,区块链网络的每个节点会执行固件中的统计记录定位逻辑,即在统计表中定位满足定位条件的统计记录。需要说明的是,本说明书实施例对统计记录定位逻辑所使用查表算法不做具体限制,本领域技术人员应当理解,可以采用诸如顺序查表、二分查表等查表算法实现上述统计记录定位逻辑。s106:所述区块链网络增加定位到的统计记录所包括的统计字段的值。在本说明书实施例中,如果统计字段的值为汉字串被选择的次数,则在步骤s106中,将定位到的统计记录所包括的统计字段的值加1。如果统计字段的值与汉字串被选择的次数的关系满足某正相关函数,则将汉字串被选择的次数代入该正相关函数,得到更新后的统计字段的值。此外,在本说明书实施例中,所述区块链网络若未在所述统计表中定位到满足定位条件的统计记录,则为所述统计表增加统计记录;其中,增加的统计记录的字母串字段的值为该用户输入的字母串,汉字串字段的值为该用户选择的汉字串。需要说明的是,如果步骤s104是基于智能合约实现的,则所述智能合约中还记载有统计逻辑。如此,区块链网络的节点在执行步骤s106时,调用智能合约,执行统计逻辑,即增加定位到的统计记录所包括的统计字段的值。如果步骤s104是基于节点的固件来实现的,则还需要预先在每个节点的固件中写入上述统计逻辑。如此,区块链网络的节点在执行步骤s106时,执行固件中的统计逻辑,即增加定位到的统计记录所包括的统计字段的值。图2是本说明书实施例提供的一种汉字输入方法的流程示意图,包括如下步骤:s200:输入法客户端接收用户输入的字母串。s202:从存储的统计表中提取字母串字段的值为所述字母串的各统计记录。s204:按统计字段的值由大到小的顺序,对所述各统计记录的汉字串字段的值进行排序,得到汉字串队列。s206:将所述汉字串队列展示给所述用户,并将所述用户选择的汉字串确定为输入的汉字串。在本说明书实施例中,输入法软件基于从区块链网络获取的统计表为用户输入的字母串匹配汉字串队列。具体而言,输入法客户端可以每当经过指定周期时,从区块链网络获取统计表;若当前存储有统计表,则删除当前存储的统计表,并存储获取的统计表;若当前未存储有统计表,则存储获取的统计表。输入法客户端也可以在每次接收到用户输入的字母串之后,从区块链网络获取统计表(最新版本的)并存储。相应地,输入法客户端在每次提取出所述各统计记录之后,则要删除存储的统计表(旧版本的)。此外需要说明的是,本文中的区块链网络可以是公有链网络、联盟链网络或者私有链网络,具体可以根据实际业务需要指定。例如,某个技术公司提升自己的员工在工作中的汉字输入效率,为自己的员工开发输入法客户端,并搭建自己的私有链网络。每个员工即是一个用户,各员工在使用输入法客户端的过程中,私有链网络执行统计工作,持续更新统计表。由于在工作中,针对可输入的某个字母串,各员工选择的匹配于该字母串的汉字串通常是趋同的(往往是工作中的常用词汇),因此,通过本统计方法可以逐渐提升公司内各员工输入汉字的平均效率。又如,某个行业内的多个公司为了提升本行业内人员在工作中的汉字输入效率,共同开发输入法客户端,并搭建由这多个公司组成的联盟链网络。这多个公司的员工使用同一套输入法软件,在工作中,针对某个字母串,多个公司的员工选择的匹配于该字母串的汉字串通常是趋同的(往往是本行业内的常用词汇),因此,通过本统计方法可以逐渐提升行业内各员工输入汉字的平均效率。在实践中,对于相同的字母串,不同的行业领域的从业人员所选择的匹配的汉子串存在显著差别。例如,对于字母串“js”,互联网行业的从业人员使用输入法输入“js”后,选择的汉字串往往是“技术”,而体育行业的从业人员使用输入法输入“js”后,选择的汉字串往往是“健身”。而通过本说明书实施例,可以给不同的行业领域提供个性化的输入法解决方案。例如,体育行业的从业人员可以使用本方案提供的输入法客户端输入汉字,区块链网络会根据体育行业的每个从业人员的汉字输入情况,维护统计表,随着对统计表的持续更新,统计表越来越反映出整个体育行业的汉字输入习惯。反过来,体育行业的从业人员使用的输入法客户端所展示的汉字串队列也是基于该统计表得到的,随着统计表的持续更新,输入法客户端所展示的汉字串队列也越来越符合体育行业的从业人员的汉字输入习惯。图3是本说明书实施例提供的一种基于区块链的汉字串统计系统的结构示意图,用于根据多个用户的输入法操作,针对可输入的每个字母串,统计匹配于该字母串的每个汉字串被选择的次数;所述多个用户预先在区块链网络上进行注册;所述区块链网络存储有统计表,所述统计表中的每个统计记录包括字母串字段、汉字串字段以及统计字段;所述系统包括:所述区块链网络与若干输入法客户端;针对每个用户该用户登录的输入法客户端,每当监测到该用户输入任一字母串并选择匹配于该字母串的任一汉字串时,构建包含该用户输入的字母串与该用户选择的汉字串的统计交易;将所述统计交易提交给区块链网络;所述区块链网络,根据所述统计交易,在所述统计表中定位满足定位条件的统计记录;所述定位条件为,包括的字母串字段的值为该用户输入的字母串,且包括的汉字串字段的值为该用户选择的汉字串;增加定位到的统计记录所包括的统计字段的值。图4是本说明书实施例提供的一种基于区块链的汉字串统计装置的结构示意图,用于根据多个用户的输入法操作,针对可输入的每个字母串,统计匹配于该字母串的每个汉字串被选择的次数;所述多个用户预先在区块链网络上进行注册;所述区块链网络存储有统计表,所述统计表中的每个统计记录包括字母串字段、汉字串字段以及统计字段;所述装置为所述多个用户中任一用户登录的输入法客户端,所述装置包括:监测构建模块401,每当监测到该用户输入任一字母串并选择匹配于该字母串的任一汉字串时,构建包含该用户输入的字母串与该用户选择的汉字串的统计交易;提交模块402,将所述统计交易提交给区块链网络,以使所述区块链网络根据所述统计交易,在所述统计表中定位满足定位条件的统计记录,进而使所述区块链网络增加定位到的统计记录所包括的统计字段的值;其中,所述定位条件为,包括的字母串字段的值为该用户输入的字母串,且包括的汉字串字段的值为该用户选择的汉字串。图5是本说明书实施例提供的一种基于区块链的汉字串统计装置的结构示意图,用于根据多个用户的输入法操作,针对可输入的每个字母串,统计匹配于该字母串的每个汉字串被选择的次数;所述多个用户预先在区块链网络上进行注册;所述区块链网络存储有统计表,所述统计表中的每个统计记录包括字母串字段、汉字串字段以及统计字段;所述装置为所述区块链网络中的任一节点,所述装置包括:定位模块501,根据统计交易,在所述统计表中定位满足定位条件的统计记录;所述定位条件为,包括的字母串字段的值为该用户输入的字母串,且包括的汉字串字段的值为该用户选择的汉字串;增值模块502,增加定位到的统计记录所包括的统计字段的值;其中,所述统计交易是输入法客户端构建并提交给所述区块链网络的;所述多个用户中的任一用户登录于所述输入法客户端;所述统计交易是所述输入法客户端每当监测到该用户输入任一字母串并选择匹配于该字母串的任一汉字串时构建的;所述统计交易包含该用户输入的字母串与该用户选择的汉字串。图6是本说明书实施例提供的一种汉字输入装置的结构示意图,包括:获取存储模块601,从区块链网络获取统计表并存储;接收模块602,接收用户输入的字母串;提取模块603,从存储的统计表中提取字母串字段的值为所述字母串的各统计记录;排序模块604,按统计字段的值由大到小的顺序,对所述各统计记录的汉字串字段的值进行排序,得到汉字串队列;展示确定模块605,将所述汉字串队列展示给所述用户,并将所述用户选择的汉字串确定为输入的汉字串。本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图1或2所示方法的功能。图7示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1410、存储器1420、输入/输出接口1430、通信接口1440和总线1450。其中处理器1410、存储器1420、输入/输出接口1430和通信接口1440通过总线1450实现彼此之间在设备内部的通信连接。处理器1410可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。存储器1420可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1420中,并由处理器1410来调用执行。输入/输出接口1430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。通信接口1440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。总线1450包括一通路,在设备的各个组件(例如处理器1410、存储器1420、输入/输出接口1430和通信接口1440)之间传输信息。需要说明的是,尽管上述设备仅示出了处理器1410、存储器1420、输入/输出接口1430、通信接口1440以及总线1450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图1或2所示方法的功能。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1