具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
本说明书一个或多个实施例提供了一种基于区块链的电子信件投递方法、装置及设备,基于区块链中部署的智能合约,自动对当前时间进行检测,并在到达待投递的电子信件的投递时间时自动进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的数据不可篡改性,确保了保存至区块链中的电子信件的真实性以及非***件的保密性;再者,基于区块链的去中心化特性,使得电子信件的投递不依赖于某个区块链节点,而是多个区块链节点共同提供投递服务,因此有效的避免了因某个区块链节点不再提供投递服务,而导致的电子信件寄送不到的问题。
图1为本说明书一个或多个实施例提供的一种基于区块链的信件投递方法的应用场景示意图,如图1所示,该场景包括:寄信人的终端设备、接入区块链的第一区块链节点和收信人的终端设备;其中,寄信人的终端设备和收信人的终端设备可以为手机、平板电脑、台式计算机、便携笔记本式计算机等,寄信人的终端设备和收信人的终端设备均通过无线网络与第一区块链节点进行通信连接。
具体的,如图2所示,寄信人的终端设备响应于寄信人的投递请求,获取寄信人设置的信件要素和投递时间,其中,信件要素包括收信人的收信地址;根据获取的信件要素生成电子信件,并根据电子信件和投递时间,发送信件投递请求给第一区块链节点。第一区块链节点,接收寄信人的终端设备发送的信件投递请求,将信件投递请求包括的电子信件和投递时间关联保存至区块链中;以及,基于智能合约检测当前时间,并根据当前时间若确定是否对区块链中保存的电子信件进行投递处理;其中,智能合约被设定为在到达电子信件的投递时间时对电子信件进行投递处理,以将电子信件投递至收信人的收信地址中。收信人的终端设备响应于收信人的信件查阅请求,展示接收到的电子信件。由此,在确保电子信件的真实性的基础上,提升了电子信件的维护效率,确保了电子信件的及时有效投递。
基于上述应用场景的架构,本说明书一个或多个实施例提供一种基于区块链的电子信件投递方法。图3为本说明书一个或多个实施例提供的一种基于区块链的电子信件投递方法的流程示意图,图3中的方法能够由图1中的第一区块链节点执行,如图3所示,该方法包括以下步骤:
步骤S102,接收寄信人的终端设备发送的信件投递请求,其中,信件投递请求包括待投递的电子信件以及电子信件的投递时间;
步骤S104,将电子信件和投递时间关联保存至区块链中;
步骤S106,基于智能合约检测当前时间,并根据当前时间确定是否对区块链中保存的电子信件进行投递处理;其中,智能合约被设定为在到达电子信件的投递时间时对电子信件进行投递处理。
本说明书一个或多个实施例中,基于区块链中部署的智能合约,自动对当前时间进行检测,并在到达待投递的电子信件的投递时间时自动进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的数据不可篡改性,确保了保存至区块链中的电子信件的真实性以及非***件的保密性。
考虑到不同的电子信件的投递时间往往不同,为了确保对各电子信件的投递时间进行有效监控,本说明书一个或多个实施例中,对于每个电子信件均部署对应的智能合约;具体的,如图4所示,步骤S106之前,还包括:
步骤S105,根据投递时间部署与电子信件对应的第一智能合约,其中,第一智能合约被设定为在到达对应的电子信件的投递时间时,对对应的电子信件进行投递处理;
对应的,如图4所示,步骤S106中,基于智能合约检测当前时间,包括:基于第一智能合约检测当前时间。
通过部署与电子信件一一对应的第一智能合约,从而能够根据各电子信件的不同,进行有针对性的时间检测以及投递处理。而为了明确第一智能合约与电子信件的对应关系,确保各电子信件能够被准确投递,如图5所示,步骤S104之前,还包括:
步骤S103,确定电子信件的信件标识;
具体的,提取电子信件的部分字段,计算提取的部分字段的哈希值,或者计算电子信件整体的哈希值,并将计算的哈希值确定为电子信件的信件标识;或者,基于信件标识的动态生成机制,动态生成电子信件的信件标识,其中,信件标识的动态生成机制能够确保所生成的信件标识各不相同。
与步骤S103对应的,如图5所示,步骤S104包括:将电子信件、投递时间、以及信件标识关联保存至区块链中;
具体的,将电子信件、电子信件的投递时间、以及电子信件的信件标识进行关联记录,并将记录的信息作为信件投递请求所对应的信件投递信息,将信件投递信息保存至区块链中。
进一步的,与步骤S103对应的,如图5所示,步骤S105包括:根据投递时间和信件标识部署与电子信件对应的第一智能合约。
由此,根据电子信件的投递时间和信件标识部署第一智能合约,以基于第一智能合约自动对信件标识对应的电子信件的投递时间进行检测,而无需人工维护,不仅降低了维护成本,而且提升了电子信件的管理效率,确保了电子信件能够被及时投递;同时,通过将信件投递信息保存至区块链中,确保了电子信件的不可篡改性、以及非***件的保密性;并且基于第一智能合约中的信件标识,以及信件投递信息中的信件标识,能够在进行电子信件的投递处理时,快速准确的获取到对应的电子信件,从而确保电子信件的投递准确;具体而言,步骤S106中对区块链中保存的电子信件进行投递处理包括:
步骤S106-2,基于智能合约中含有的信件标识,在区块链中获取关联保存的电子信件;
步骤S106-4,从获取的电子信件中,获取收信人的收信地址;
步骤S106-6,将获取的电子信件投递至获取的收信地址中。
具体的,基于智能合约中含有的信件标识,在区块链中获取对应的信件投递信息,从获取的信件投递信息中获取电子信件以及电子信件的收信人的收信地址,并将获取的电子信件投递至获取的收信地址中。
以上,通过与每个待投递的电子信件部署对应的第一智能合约,以通过第一智能合约检测当前时间,并在达到相应的电子信件的投递时间时,对相应的电子信件进行投递处理,实现了电子信件的快速准确投递。
进一步的,考虑到区块链节点的运行能力强大,以及为了提升资源的利用率,本说明书中一个或多个实施例中,还可以仅部署一个智能合约,为便于区分,将该智能合约称为第二智能合约,以通过第二智能合约对所有待投递的电子信件的投递时间进行检测,以及进行投递处理。更进一步的,由于是慢递,电子信件的投递时间通常是在未来的一年、五年、十年、甚至更久,为了提升电子信件的投递管理效率,本说明书一个或多个实施例中,如图6所示,步骤S104包括:
步骤S104-2,调用第二智能合约,根据预设的时间段划分规则,确定电子信件所对应的时间段;
其中,预设的时间段划分规则,可以在实际应用中根据需要自行设定,例如,以年度为单位,电子信件的投递时间为2021年6月1日,则确定电子信件所对应的时间段为2021年1月1日至2021年12月31日。
步骤S104-4,将电子信件、电子信件所对应的时间段和投递时间关联保存至区块链中。
具体地,将电子信件、电子信件所对应的时间段和投递时间进行关联记录,并将记录的信息作为信件投递请求所对应的信件投递信息,将信件投递信息保存至区块链中。
通过确定电子信件所对应的时间段,在进行投递时间的检测过程中,可以仅对当前时间段所对应的电子信件的投递时间进行检测,而无需对区块链中保存的所有电子信件的投递时间均进行检测;具体的,如图6所示,步骤S106中,基于智能合约检测当前时间,并根据当前时间确定是否对区块链中保存的电子信件进行投递处理,包括:
步骤S106-8,基于第二智能合约检测当前时间,其中,第二智能合约被设定为在到达至少一个电子信件的投递时间时,对该至少一个电子信件进行投递处理;
步骤S106-10,确定当前时间所对应的目标时间段;
步骤S106-12,根据当前时间和区块链中与目标时间段关联保存的投递时间,确定是否对目标时间段所对应的电子信件进行投递处理。
具体的,在区块链保存的信件投递信息中,获取含有目标时间段的目标信件投递信息;将目标信件投递信息中含有的投递时间与当前时间进行比对,若一致,则确定对目标信件投递信息中含有的电子信件进行投递处理;若不一致,这确定对目标信件投递信息中含有的电子信件不进行投递处理。
进一步的,对目标信件投递信息中含有的电子信件进行投递处理,包括:从目标信件投递信息中获取电子信件,从获取的电子信件中获取收信人的收信地址,将获取的电子信件投递至获取的收信地址中。
例如,以年度为单位,基于第二智能合约检测当前时间为2019年9月1日,确定目标时间段为2019年1月1日至2019年12月31日;从区块链中获取包括目标时间段2019年1月1日至2019年12月31日的目标信件投递信息,如其中一个目标信件投递信息中含有的投递时间为2019年12月25日,与当前时间不一致,则确定对该目标信件投递信息中含有的电子信件不进行投递处理;又如,另一个目标信件投递信息中含有的投递时间为2019年9月1日,与当前时间一致,则确定对该目标信件投递信息中含有的电子信件进行投递处理,并从该目标信件投递信息中获取电子信件,从获取的电子信件中读取收信人的收信地址,并将获取的电子信件投递至读取的收信地址中。
可见,通过确定当前时间所属的目标时间段,可以根据当前时间以及区块链中与目标时间段关联保存的投递时间,仅确定对目标时间段所对应的电子信件是否进行投递处理即可,而无需对区块链中保存的所有电子信息的投递时间均进行检测,极大的提升了电子信件的投递处理效率。
基于上述任一实施例,考虑到由于有些电子信件的投递时间可能是未来的五年、十年、甚至更久,为了避免电子信件寄送不到的问题,本申请一个或多个实施例中,由多个区块链节点共同运行对电子信件进行投递处理的智能合约,共同为电子信件提供投递服务;同时,对提供投递服务的各区块链节点予以奖励;具体的,方法还包括:
步骤A2,根据信件投递请求,发送投递服务提供请求给各第二区块链节点,通过共识机制在各第二区块链节点中确定为电子信件提供投递服务的目标区块链节点;
由于区块链网络中包括多个区块链节点,为便于区分,本说明书实施例中将接收到信件投递请求的区块链节点称为第一区块链节点,将区块链网络中除第一区块链节点外的节点称为第二区块链节点;应当理解的是,第一区块链节点在一些场景中可以是第二区块链节点,第二区块链节点在一些场景中也可以是第一区块链节点。
进一步的,具体的共识机制可以在实际应用中,根据需要自行设定,例如通过拜占庭容错的共识机制在各第二区块链节点中确定为电子信件提供投递服务的目标区块链节点,即预先设定一个数量阈值,该数量阈值可以是区块链节点总数量的50%,或者大于区块链节点总数量的50%;在发送投递服务提供请求给各第二区块链节点之后,记录返回响应数据的第二区块链节点的节点信息,并统计返回响应数据的第二区块链节点的数量,当统计的数据到达设定的数量阈值时,将记录的各节点信息所对应的第二区块链节点确定为为电子信件提供投递服务的目标区块链节点。
需要指出的是,由于共识机制是本领域技术人员熟知的技术手段,故本说明书中对共识机制的详细过程不再赘述,参考现有的共识机制即可。
步骤A4,获取奖励目标区块链节点所需的通证;
在本说明书的一个或多个实施例中,步骤A4包括:
步骤A4-2,确定目标区块链节点的第一数量;
具体的,根据实际应用中所采用的共识机制,确定目标区块链节点的第一数量;例如,采用上述拜占庭容错的共识机制,可以将设定的数量阈值确定为目标区块链节点的第一数量。
步骤A4-4,根据第一数量、投递时间、以及预设奖励机制,确定奖励目标区块链节点所需的通证的第二数量;
其中,预设奖励机制包括奖励周期、奖励标准等信息,其中,奖励标准明确了单位时段内提供投递服务所需奖励的通证的第四数量,相应的,步骤A4-4包括:获取当前时间,根据当前时间和投递时间,确定提供投递服务所需的单位时段的数量;根据确定的单位时段的数量和第四数量,计算奖励目标区块链节点所需的通证的第二数量。
例如,以“年度”为单位时段,奖励标准表明一个区块链节点为某个电子信件提供一个年度的投递服务所需奖励的通证的第四数量为12个,目标区块链节点的第一数量为20个;投递时间为2029年6月1日,获取的当前时间为2019年6月1日,则确定提供投递服务所需的单位时段的数量为10个,计算的奖励目标区块链节点所需的通证的第二数量为12*10*20=2400个。
步骤A4-6,根据第二数量,发送通证转移请求给寄信人的终端设备,以使寄信人通过其终端设备进行通证转移操作;
当寄信人的终端设备接收到第一区块链节点发送的通证转移请求时,展示包含第二数量的通证转移信息,以提示寄信人进行通证转移操作;并响应于寄信人触发的通证转移操作,向第一区块链节点转移第二数量的通证。
步骤A4-8,接收寄信人的终端设备转移的第二数量的通证。
进一步的,与上述步骤A2-步骤A4对应的,方法还包括:
步骤B,根据预设奖励机制,基于获取的通证对目标区块链节点进行奖励操作。
需要指出的是,预设奖励机制中包括奖励周期,例如每个月进行一次奖励操作,或者每半年进行一次奖励操作,或者在到达投递时间时,进行一次性奖励等。
由此,通过确定为电子信件提供投递服务的目标区块链节点,并获取奖励目标区块链节点所需的通证,基于该通证对目标区块链节点进行奖励,以达到激励各目标区块链为电子信件持续提供投递服务的目的;可见,基于区块链的去中心化特性以及奖励机制,使得电子信件的投递不依赖于某个区块链节点,而是多个区块链节点共同提供投递服务,有效的避免了因某个区块链节点不再提供投递服务,而导致的信件寄送不到的问题。
考虑到有些目标区块链点可能在到达投递时间之前,不再提供投递服务,基于此,本申请一个或多个实施例中,步骤B包括:
步骤B2,根据预设奖励机制,确定奖励时间和奖励各目标区块链节点的通证的第三数量;
例如,预设奖励机制所包括的奖励周期为每两个月奖励一次,奖励标准表明一个区块链节点为某个电子信件提供一个年度的投递服务所需奖励的通证的第四数量为12个;若接收到信件投递请求的日期为2019年6月1日,则确定第一次奖励时间为2019年8月1日,且奖励每个目标区块链节点的通证的第三数量为2个。
步骤B4,当到达奖励时间时,确定各目标区块链节点是否处于为电子信件提供投递服务的状态;
由于区块链具体公开透明的特性,因此,当某个目标区块链不再为电子信件提供投递服务时,第一区块链节点可以获取到该目标区块链不再为电子信件提供投递服务的状态信息。
步骤B6,若处于提供投递服务的状态,则发送第三数量的通证至处于提供投递服务状态的目标区块链节点的区块链地址中。
由此,在将通证发送至目标区块链节点的区块链地址中之前,通过判断目标区块链节点是否处于提供投递服务的状态,避免了误奖励的现象。
进一步的,为了对奖励过程进行有效追溯,本说明书一个或多个实施例中,步骤B6之后,还包括:
步骤C,根据奖励的目标区块链节点的节点信息、第三数量、奖励时间、以及信件标识等信息,生成奖励记录信息,并将奖励记录信息写入区块链中。
进一步的,为了确保电子信件能够被顺利投递,当处于提供投递服务状态的目标区块链节点的数量小于设定的最小数量阈值时,方法还包括:
步骤D,第一区块链接点发送投递服务提供请求给除处于提供投递服务状态的目标区块链节点外的各第二区块链节点,基于共识机制确定为电子信件提供投递服务的补充区块链节点,并基于获取的通证对该补充区块链接点进行奖励。
进一步的,考虑到由于目标区块链节点可能在到达投递时间之前不再提供投递服务,因而在电子信件被投递至收信地址之后,对应的寄信人的终端设备所转移的通证可能会有剩余,为了对通证进行有效的统计,本说明书的一个或多个实施例中,步骤A4之后还包括:
步骤A6,根据第二数量和电子信件的信件标识,生成通证获取记录信息,并将通证获取记录信息保存至区块链中;
对应的,步骤S106之后,还包括:
步骤E,根据电子信件的信件标识,判断是否存在剩余通证;若是,则将剩余通证退回至寄信人的终端设备。
具体的,根据电子信件的信件标识,在区块链中获取对应的通证获取记录信息和奖励记录信息;根据奖励记录信息中的第三数量和节点信息的数量,计算奖励的通证总量;判断计算的通证总量是否小于通证获取记录信息中的第二数量,若是,则确定存在剩余通证,并将第二数量与通证总量相减,将相减结果作为剩余通证的数量,并退回该数量的通证至寄信人的终端设备。
在一个具体的实施例中,对于每个待投递的电子信件部署对应的智能合约,如图7所示,方法包括:
步骤S202,接收寄信人的终端设备发送的信件投递请求,其中,信件投递请求包括待投递的电子信件以及电子信件的投递时间;
步骤S204,确定电子信件的信件标识;
步骤S206,根据信件投递请求,发送投递服务提供请求给各第二区块链节点,通过共识机制在各第二区块链节点中确定为电子信件提供投递服务的目标区块链节点;
步骤S208,确定目标区块链节点的第一数量,根据第一数量、投递时间、以及预设奖励机制,确定奖励目标区块链节点所需的通证的第二数量;
步骤S210,根据确定的第二数量,发送通证转移请求给寄信人的终端设备,以使寄信人通过其终端设备进行通证转移操作;
步骤S212,接收寄信人的终端设备转移的第二数量的通证;
步骤S214,根据第二数量和电子信件的信件标识,生成通证获取记录信息,并将通证获取记录信息保存至区块链中;
步骤S216,根据预设奖励机制,基于接收的通证对目标区块链节点进行奖励操作,根据奖励的目标区块链节点的节点信息、奖励各目标区块链节点的通证的第三数量、奖励时间、以及信件标识信息,生成奖励记录信息,并将奖励记录信息写入区块链中;
步骤S218,将电子信件、投递时间、以及信件标识关联保存至区块链中;
步骤S220,根据投递时间和信件标识部署与电子信件对应的第一智能合约,其中,第一智能合约被设定为在到达对应的电子信件的投递时间时,对对应的电子信件进行投递处理;
步骤S222,基于第一智能合约检测当前时间,并根据当前时间确定是否对区块链中保存的电子信件进行投递处理,是则执行步骤S224,否则继续执行步骤S222;
步骤S224,基于第一智能合约中含有的信件标识,在区块链中获取关联保存的电子信件;
步骤S226,从获取的电子信件中,获取收信人的收信地址,并将获取的电子信件投递至获取的收信地址中;
步骤S228,根据电子信件的信件标识,在区块链中获取对应的通证获取记录信息和奖励记录信息,根据获取的记录信息判断是否存在剩余通证;若是,则将剩余通证退回至寄信人的终端设备。
其中,步骤S202至步骤S228的具体实现过程,可参见前述相关描述,重复之处,这里不再赘述;需要指出的是,步骤S204还可以在步骤S212之后执行。
在另一个具体实施例中,通过预先部署的第二智能合约对各待投递的电子信件进行投递处理,具体的,如图8所示,方法包括:
步骤S302,接收寄信人的终端设备发送的信件投递请求,其中,信件投递请求包括待投递的电子信件以及电子信件的投递时间;
步骤S304,确定电子信件的信件标识;
步骤S306,根据信件投递请求,发送投递服务提供请求给各第二区块链节点,通过共识机制在各第二区块链节点中确定为电子信件提供投递服务的目标区块链节点;
步骤S308,确定目标区块链节点的第一数量,根据第一数量、投递时间、以及预设奖励机制,确定奖励目标区块链节点所需的通证的第二数量;
步骤S310,根据确定的第二数量,发送通证转移请求给寄信人的终端设备,以使寄信人通过其终端设备进行通证转移操作;
步骤S312,接收寄信人的终端设备转移的第二数量的通证;
步骤S314,根据第二数量和电子信件的信件标识,生成通证获取记录信息,并将通证获取记录信息保存至区块链中;
步骤S316,根据预设奖励机制,基于接收的通证对目标区块链节点进行奖励操作,根据奖励的目标区块链节点的节点信息、奖励各目标区块链节点的通证的第三数量、奖励时间、以及信件标识等信息,生成奖励记录信息,并将奖励记录信息写入区块链中;
步骤S318,调用第二智能合约,根据预设的时间段划分规则,确定电子信件所对应的时间段;
步骤S320,将电子信件、电子信件所对应的时间段和投递时间关联保存至区块链中;
步骤S322,基于第二智能合约检测当前时间,其中,第二智能合约被设定为在到达至少一个电子信件的投递时间时对该至少一个电子信件进行投递处理;
步骤S324,确定当前时间所对应的目标时间段,根据当前时间和区块链中与目标时间段关联保存的投递时间,确定是否对目标时间段所对应的电子信件进行投递处理,是则执行步骤S326,否则返回步骤S322;
步骤S326,从目标时间段所对应的电子信件中获取收信人的收地地址,并将目标时间段所对应的电子信件投递至获取的收信地址中;
步骤S328,根据电子信件的信件标识,在区块链中获取对应的通证获取记录信息和奖励记录信息,根据获取的记录信息判断是否存在剩余通证;若是,则将剩余通证退回至寄信人的终端设备。
其中,步骤S302至步骤S328的具体实现过程,可参见前述相关描述,重复之处,这里不再赘述;需要指出的是,步骤S304还可以在步骤S312之后执行。
本说明书一个或多个实施例中,基于区块链中部署的智能合约,自动对电子信件的投递时间进行监控并进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的数据不可篡改性,确保了保存至区块链中的电子信件的真实性以及非***件的保密性;再者,基于区块链的去中心化特性,使得电子信件的投递不依赖于某个区块链节点,而是多个区块链节点共同提供投递服务,因此有效的避免了因某个区块链节点不再提供投递服务,而导致的信件寄送不到的问题。
对应上述图2至图8描述的基于区块链的电子信件投递方法,基于相同的技术构思,图9为本说明书一个或多个实施例提供的另一种基于区块链的电子信件投递方法,图9中的方法能够由图1中的寄信人的终端设备执行,如图9所示,该方法包括以下步骤:
步骤S402,获取寄信人设置的信件要素和投递时间;
步骤S404,根据件要素生成电子信件;
步骤S406,根据电子信件和投递时间,发送信件投递请求给第一区块链节点,以使第一区块链节点在基于智能合约确定到达投递时间时,对电子信件进行投递处理。
本说明书一个或多个实施例中,通过发送信件投递请求给第一区块链节点,其中,信件投递请求包括投递时间,使得第一区块链节点能够基于智能合约,在到达投递时间时自动对电子信件进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递。
为了丰富待投寄信件的样式,本说明书的一个或多个实施例中,如图10所示,步骤S402包括:
步骤S402-2,展示信件封面设置界面,获取寄信人在信件封面设置界面中所选择的信件封面,或者获取寄信人在信件封面设置界面中所上传的信件封面;其中,信件封面设置界面包括多个信件封面;以及,
步骤S402-4,展示信件编辑界面,获取寄信人在信件编辑界面中所编辑的收信人的收信地址、信件正文和投递时间;
具体而言,寄信人的终端设备中安装有寄信应用,当寄信人需要寄送信件时,操作寄信应用中的寄信控件,寄信应用检测都寄信控件的触发操作时,展示信件封面设置界面,并在寄信人对信件封面设置完成后,自动跳转至信件编辑界面,或者在检测到寄信人对下一步的操作控件的触发操作时,展示信件编辑界面。其中,信件封面设置界面的示意图可参见图11,其包括多个主题的信件封面,寄信人可以从中选择所需的信件封面,寄信人还可以操作(如单击或双击)上传封面控件,上传其他信件封面。信件编辑界面的示意图如图12所示,寄信人可以在“收件人”部分编辑收信人的收信地址,可以在“正文”部分编辑信件正文,以及设置投递时间,设置电子信件是否公开的隐匿信息等。
对应的,步骤S404包括:
根据获取的信件封面、收信人的收信地址、以及信件正文,生成电子信件。
进一步的,如图12所示,寄信人可以在信件编辑界面中设置电子信件是否公开的隐匿信息,对应的,步骤S402包括:获取寄信人设置的信件要素、投递时间、以及隐匿信息;
进一步的,当获取的隐匿信息表征电子信件为非***件,则步骤S406中根据电子信件和投递时间,发送信件投递请求给区块链节点,包括:
步骤S406-2,采用收信人的公钥对电子信件加密,得到电子信件的密文;
步骤S406-4,根据电子信件的密文和投递时间,发送信件投递请求给第一区块链节点。
其中,收信人的公钥为预先向第一区块链节点申请而得,或者向第三方安全机构申请而得,或者向收信人申请而得;收信人在收到电子信件的密文时,采用自身的私钥对电子信件的密文进行解密,得到电子信件的明文。由此,寄信人可以根据需要设定电子信件的隐匿信息,由于第一区块链节点会将电子信件保存至区块链中,因此当电子信件为非***件时,在确保收信人可以得到电子信件的明文的基础上,确保了电子信件的私密性。
本说明书一个或多个实施例中,寄信人还可以操作其终端设备,查看已发送信件的详细信息,对应的,方法还包括:若接收到已发信件的查阅请求,则展示相应的已发信件。
进一步的,为了确保电子信件能够被顺利投递,本说明书一个或多个实施例中,由多个目标区块链节点同时为电子信件提供投递服务,同时寄信人需要为所享的投递服务提供通证,以对该多个目标区块链节点进行奖励;对应的,方法还包括:
步骤H2,接收第一区块链节点发送的通证转移请求,其中,通证转移请求包括所需转移的通证的第二数量;
步骤H4,响应于寄信人对通证转移的触发操作,向第一区块链节点转移第二数量的通证,以使第一区块链节点基于转移的通证对提供投递服务的目标区块链节点进行奖励。
通过进行通证转移,并基于转移的通证对提供投递服务的目标区块链节点进行奖励,能够激励各目标区块链节点为电子信件持续提供投递服务,从而确保电子信件能够被顺利投递,避免了因某个区块链节点不再提供投递服务,而导致的信件寄送不到的问题。
本说明书一个或多个实施例中,通过发送信件投递请求给第一区块链节点,其中,信件投递请求包括投递时间,使得第一区块链节点能够在到达投递时间时,基于智能合约自动对电子信件进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的去中心化特性,使得电子信件的投递不依赖于某个区块链节点,而是多个区块链节点共同提供投递服务,因此有效的避免了因某个区块链节点不再提供投递服务,而导致的信件寄送不到的问题。
对应上述图2至图8描述的基于区块链的电子信件投递方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种基于区块链的电子信件投递装置,应用于第一区块链节点。图13为本说明书一个或多个实施例提供的基于区块链的电子信件投递装置的模块组成示意图,该装置用于执行图2至图8描述的基于区块链的电子信件投递方法,如图13所示,该装置包括:
接收模块501,其接收寄信人的终端设备发送的信件投递请求,其中,所述信件投递请求包括电子信件以及所述电子信件的投递时间;
保存模块502,其将所述电子信件和所述投递时间保存至区块链中;
投递模块503,其基于智能合约检测当前时间,并根据所述当前时间确定是否对所述区块链中保存的所述电子信件进行投递处理;其中,所述智能合约被设定为在到达所述电子信件的投递时间时对所述电子信件进行投递处理。
本说明书一个或多个实施例中,基于区块链中部署的智能合约,自动对当前时间进行检测,并在到达待投递的电子信件的投递时间时自动进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的数据不可篡改性,确保了保存至区块链中的电子信件的真实性以及非***件的保密性。
可选地,该装置还包括:部署模块;
所述部署模块,在所述投递模块503基于智能合约检测当前时间之前,部署与所述电子信件对应的第一智能合约,其中,所述第一智能合约被设定为在到达对应的电子信件的投递时间时,对所述对应的电子信件进行投递处理;
所述投递模块503,基于所述第一智能合约检测当前时间。
可选地,该装置还包括:确定模块;
所述确定模块,在所述保存模块502将所述电子信件和所述投递时间关联保存至区块链中之前,确定所述电子信件的信件标识;
所述保存模块502,将所述电子信件、所述投递时间、以及所述信件标识关联保存至区块链中;
所述部署模块,根据所述投递时间和所述信件标识部署与所述电子信件对应的第一智能合约。
可选地,所述投递模块503,基于所述第一智能合约中含有的信件标识,在所述区块链中获取关联保存的电子信件;以及,
从获取的所述电子信件中,获取收信人的收信地址;
将获取的所述电子信件投递至获取的所述收信地址中。
可选地,所述保存模块502,调用第二智能合约,根据预设的时间段划分规则,确定所述电子信件所对应的时间段;以及,
将所述电子信件、所述电子信件所对应的时间段和所述投递时间关联保存至区块链中。
可选地,所述投递模块503,基于所述第二智能合约检测当前时间,其中,所述第二智能合约被设定为在到达至少一个电子信件的投递时间时,对所述至少一个电子信件进行投递处理;以及,
确定所述当前时间所对应的目标时间段;
根据所述当前时间和所述区块链中与所述目标时间段关联保存的投递时间,确定是否对所述目标时间段所对应的电子信件进行投递处理。
可选地,该装置还包括:发送模块、获取模块和奖励模块;
所述发送模块,根据所述信件投递请求,发送投递服务提供请求给各第二区块链节点,通过共识机制在所述各第二区块链节点中确定为所述电子信件提供投递服务的目标区块链节点;
所述获取模块,获取奖励所述目标区块链节点所需的通证;
所述奖励模块,根据预设奖励机制,基于所述通证对所述目标区块链节点进行奖励操作。
可选地,所述获取模块,确定所述目标区块链节点的第一数量;以及,
根据所述第一数量、所述投递时间、以及所述预设奖励机制,确定奖励所述目标区块链节点所需的通证的第二数量;
根据所述第二数量,发送通证转移请求给所述寄信人的终端设备,以使所述寄信人通过其终端设备进行通证转移操作;
接收所述寄信人的终端设备转移的所述第二数量的通证。
可选地,所述奖励模块,根据预设奖励机制,确定奖励时间和奖励所述各目标区块链节点的通证的第三数量;以及,
当到达所述奖励时间时,确定所述各目标区块链节点是否处于为所述电子信件提供投递服务的状态;
若处于提供投递服务的状态,则发送所述第三数量的通证至处于提供投递服务状态的目标区块链节点的区块链地址中。
本说明书一个或多个实施例提供的基于区块链的电子信件投递装置,基于区块链中部署的智能合约,自动对当前时间进行检测,并在到达待投递的电子信件的投递时间时自动进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的数据不可篡改性,确保了保存至区块链中的电子信件的真实性以及非***件的保密性;再者,基于区块链的去中心化特性,使得电子信件的投递不依赖于某个区块链节点,而是多个区块链节点共同提供投递服务,因此有效的避免了因某个区块链节点不再提供投递服务,而导致的电子信件寄送不到的问题。
需要说明的是,本说明书中关于基于区块链的电子信件投递装置的实施例与本说明书中关于基于区块链的电子信件投递方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的基于区块链的电子信件投递方法的实施,重复之处不再赘述。
对应上述图9至图10描述的基于区块链的电子信件投递方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种基于区块链的电子信件投递装置,应用于寄信人的终端设备。图14为本说明书一个或多个实施例提供的基于区块链的电子信件投递装置的模块组成示意图,该装置用于执行图9至图10描述的基于区块链的电子信件投递方法,如图14所示,该装置包括:
获取模块601,其获取寄信人设置的信件要素和投递时间;
生成模块602,其根据所述信件要素生成电子信件;
发送模块603,其根据所述电子信件和所述投递时间,发送信件投递请求给区块链节点,以使所述区块链节点在到达所述投递时间时,对所述电子信件进行投递处理。
本说明书一个或多个实施例中,通过发送信件投递请求给第一区块链节点,其中,信件投递请求包括投递时间,使得第一区块链节点能够基于智能合约,在到达投递时间时自动对电子信件进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递。
可选地,所述获取模块601,展示信件封面设置界面,获取寄信人在所述信件封面设置界面中所选择的信件封面,或者获取寄信人在所述信件封面设置界面中所上传的信件封面;其中,所述信件封面设置界面包括多个信件封面;以及,
展示信件编辑界面,获取寄信人在所述信件编辑界面中所编辑的收信人的收信地址、信件正文和投递时间;
对应地,所述生成模块602,根据获取的所述信件封面、所述收信人的收信地址、以及所述信件正文,生成电子信件。
可选地,所述获取模块601,获取寄信人设置的信件要素、投递时间、以及隐匿信息;
若所述隐匿信息表征电子信件为非***件,则所述发送模块603,采用收信人的公钥对所述电子信件加密,得到电子信件的密文;以及,
根据所述电子信件的密文和所述投递时间,发送信件投递请求给第一区块链节点。
可选地,该装置还包括:转移模块;
所述及模块,在所述发送模块603根据所述电子信件和所述投递时间,发送信件投递请求给第一区块链节点之后,接收第一区块链节点发送的通证转移请求,其中,通证转移请求包括所需转移的通证的第二数量;以及,
响应于寄信人对通证转移的触发操作,向所述第一区块链节点转移所述第二数量的通证,以使所述第一区块链节点基于转移的通证对提供投递服务的目标区块链节点进行奖励。
本说明书一个或多个实施例提供的基于区块链的电子信件投递装置,通过发送信件投递请求给第一区块链节点,其中,信件投递请求包括投递时间,使得第一区块链节点能够基于智能合约,在到达投递时间时自动对电子信件进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的去中心化特性,使得电子信件的投递不依赖于某个区块链节点,而是多个区块链节点共同提供投递服务,因此有效的避免了因某个区块链节点不再提供投递服务,而导致的电子信件寄送不到的问题。
需要说明的是,本说明书中关于基于区块链的电子信件投递装置的实施例与本说明书中关于基于区块链的电子信件投递方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的基于区块链的电子信件投递方法的实施,重复之处不再赘述。
进一步地,对应上述描述的基于区块链的电子信件投递方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种基于区块链的电子信件投递设备,该设备用于执行上述的基于区块链的电子信件投递方法,图15为本说明书一个或多个实施例提供的一种基于区块链的电子信件投递设备的结构示意图。
如图15所示,基于区块链的电子信件投递设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括基于区块链的电子信件投递设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在基于区块链的电子信件投递设备上执行存储器702中的一系列计算机可执行指令。基于区块链的电子信件投递设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706等。
在一个具体的实施例中,基于区块链的电子信件投递设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对基于区块链的电子信件投递设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
接收寄信人的终端设备发送的信件投递请求,其中,所述信件投递请求包括待投递的电子信件以及所述电子信件的投递时间;
将所述电子信件和所述投递时间关联保存至区块链中;
基于智能合约检测当前时间,并根据所述当前时间确定是否对所述区块链中保存的所述电子信件进行投递处理;其中,所述智能合约被设定为在到达所述电子信件的投递时间时对所述电子信件进行投递处理。
本说明书一个或多个实施例中,基于区块链中部署的智能合约,自动对当前时间进行检测,并在到达待投递的电子信件的投递时间时自动进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的数据不可篡改性,确保了保存至区块链中的电子信件的真实性以及非***件的保密性。
可选地,计算机可执行指令在被执行时,所述基于智能合约检测当前时间之前,还包括:
根据所述投递时间部署与所述电子信件对应的第一智能合约,其中,所述第一智能合约被设定为在到达对应的电子信件的投递时间时,对所述对应的电子信件进行投递处理;
所述基于智能合约检测当前时间,包括:基于所述第一智能合约检测当前时间。
可选地,计算机可执行指令在被执行时,所述将所述电子信件和所述投递时间关联保存至区块链中之前,还包括:
确定所述电子信件的信件标识;
所述将所述电子信件和所述投递时间关联保存至区块链中,包括:
将所述电子信件、所述投递时间、以及所述信件标识关联保存至区块链中;
所述根据所述投递时间部署与所述电子信件对应的第一智能合约,包括:
根据所述投递时间和所述信件标识部署与所述电子信件对应的第一智能合约。
可选地,计算机可执行指令在被执行时,所述电子信件中包括收信人的收信地址,所述对所述区块链中保存的所述电子信件进行投递处理,包括:
基于所述第一智能合约中含有的信件标识,在所述区块链中获取关联保存的电子信件;
从获取的所述电子信件中,获取收信人的收信地址;
将获取的所述电子信件投递至获取的所述收信地址中。
可选地,计算机可执行指令在被执行时,所述将所述电子信件和所述投递时间关联保存至区块链中,包括:
调用第二智能合约,根据预设的时间段划分规则,确定所述电子信件所对应的时间段;
将所述电子信件、所述电子信件所对应的时间段和所述投递时间关联保存至区块链中。
可选地,计算机可执行指令在被执行时,所述基于智能合约检测当前时间,并根据所述当前时间确定是否对所述区块链中保存的所述电子信件进行投递处理,包括:
基于所述第二智能合约检测当前时间,其中,所述第二智能合约被设定为在到达至少一个电子信件的投递时间时,对所述至少一个电子信件进行投递处理;
确定所述当前时间所对应的目标时间段;
根据所述当前时间和所述区块链中与所述目标时间段关联保存的投递时间,确定是否对所述目标时间段所对应的电子信件进行投递处理。
可选地,计算机可执行指令在被执行时,还包括:
根据所述信件投递请求,发送投递服务提供请求给各第二区块链节点,通过共识机制在所述各第二区块链节点中确定为所述电子信件提供投递服务的目标区块链节点;
获取奖励所述目标区块链节点所需的通证;
根据预设奖励机制,基于所述通证对所述目标区块链节点进行奖励操作。
可选地,计算机可执行指令在被执行时,所述获取奖励所述目标区块链节点所需的通证,包括:
确定所述目标区块链节点的第一数量;
根据所述第一数量、所述投递时间、以及所述预设奖励机制,确定奖励所述目标区块链节点所需的通证的第二数量;
根据所述第二数量,发送通证转移请求给所述寄信人的终端设备,以使所述寄信人通过其终端设备进行通证转移操作;
接收所述寄信人的终端设备转移的所述第二数量的通证。
可选地,计算机可执行指令在被执行时,所述根据预设奖励机制,基于所述通证对所述目标区块链节点进行奖励操作,包括:
根据预设奖励机制,确定奖励时间和奖励所述各目标区块链节点的通证的第三数量;
当到达所述奖励时间时,确定所述各目标区块链节点是否处于为所述电子信件提供投递服务的状态;
若处于提供投递服务的状态,则发送所述第三数量的通证至处于提供投递服务状态的目标区块链节点的区块链地址中。
本说明书一个或多个实施例提供的基于区块链的电子信件投递设备,能够基于区块链中部署的智能合约,自动对当前时间进行检测,并在到达待投递的电子信件的投递时间时自动进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的数据不可篡改性,确保了保存至区块链中的电子信件的真实性以及非***件的保密性;再者,基于区块链的去中心化特性,使得电子信件的投递不依赖于某个区块链节点,而是多个区块链节点共同提供投递服务,因此有效的避免了因某个区块链节点不再提供投递服务,而导致的电子信件寄送不到的问题
在另一个具体实施例中,基于区块链的电子信件投递包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对基于区块链的电子信件投递设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取寄信人设置的信件要素和投递时间;
根据所述信件要素生成电子信件;
根据所述电子信件和所述投递时间,发送信件投递请求给第一区块链节点,以使所述第一区块链节点在基于智能合约确定到达所述投递时间时,对所述电子信件进行投递处理。
本说明书一个或多个实施例中,通过发送信件投递请求给第一区块链节点,其中,信件投递请求包括投递时间,使得第一区块链节点能够基于智能合约,在到达投递时间时自动对电子信件进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递。
可选地,计算机可执行指令在被执行时,所述获取寄信人设置的信件要素和投递时间,包括:
展示信件封面设置界面,获取寄信人在所述信件封面设置界面中所选择的信件封面,或者获取寄信人在所述信件封面设置界面中所上传的信件封面;其中,所述信件封面设置界面包括多个信件封面;以及,
展示信件编辑界面,获取寄信人在所述信件编辑界面中所编辑的收信人的收信地址、信件正文和投递时间;
所述根据所述信件要素生成电子信件,包括:
根据获取的所述信件封面、所述收信人的收信地址、以及所述信件正文,生成电子信件。
可选地,计算机可执行指令在被执行时,所述获取寄信人设置的信件要素和投递时间,包括:
获取寄信人设置的信件要素、投递时间、以及隐匿信息;
若所述隐匿信息表征电子信件为非***件,则所述根据所述电子信件和所述投递时间,发送信件投递请求给区块链节点,包括:
采用收信人的公钥对所述电子信件加密,得到电子信件的密文;
根据所述电子信件的密文和所述投递时间,发送信件投递请求给第一区块链节点。
可选地,计算机可执行指令在被执行时,所述根据所述电子信件和所述投递时间,发送信件投递请求给第一区块链节点之后,还包括:
接收第一区块链节点发送的通证转移请求,其中,通证转移请求包括所需转移的通证的第二数量;
响应于寄信人对通证转移的触发操作,向所述第一区块链节点转移所述第二数量的通证,以使所述第一区块链节点基于转移的通证对提供投递服务的目标区块链节点进行奖励。
本说明书一个或多个实施例提供的基于区块链的电子信件投递设备,通过发送信件投递请求给第一区块链节点,其中,信件投递请求包括投递时间,使得第一区块链节点能够基于智能合约,在到达投递时间时自动对电子信件进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的去中心化特性,使得电子信件的投递不依赖于某个区块链节点,而是多个区块链节点共同提供投递服务,因此有效的避免了因某个区块链节点不再提供投递服务,而导致的电子信件寄送不到的问题。
需要说明的是,本说明书中关于基于区块链的电子信件投递设备的实施例与本说明书中关于基于区块链的电子信件投递方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的基于区块链的电子信件投递方法的实施,重复之处不再赘述。
进一步地,对应上述描述的基于区块链的电子信件投递方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令,一个具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
接收寄信人的终端设备发送的信件投递请求,其中,所述信件投递请求包括待投递的电子信件以及所述电子信件的投递时间;
将所述电子信件和所述投递时间关联保存至区块链中;
基于智能合约检测当前时间,并根据所述当前时间确定是否对所述区块链中保存的所述电子信件进行投递处理;其中,所述智能合约被设定为在到达所述电子信件的投递时间时对所述电子信件进行投递处理。
本说明书一个或多个实施例中,基于区块链中部署的智能合约,自动对当前时间进行检测,并在到达待投递的电子信件的投递时间时自动进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的数据不可篡改性,确保了保存至区块链中的电子信件的真实性以及非***件的保密性。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述基于智能合约检测当前时间之前,还包括:
根据所述投递时间部署与所述电子信件对应的第一智能合约,其中,所述第一智能合约被设定为在到达对应的电子信件的投递时间时,对所述对应的电子信件进行投递处理;
所述基于智能合约检测当前时间,包括:基于所述第一智能合约检测当前时间。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述将所述电子信件和所述投递时间关联保存至区块链中之前,还包括:
确定所述电子信件的信件标识;
所述将所述电子信件和所述投递时间关联保存至区块链中,包括:
将所述电子信件、所述投递时间、以及所述信件标识关联保存至区块链中;
所述根据所述投递时间部署与所述电子信件对应的第一智能合约,包括:
根据所述投递时间和所述信件标识部署与所述电子信件对应的第一智能合约。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述电子信件中包括收信人的收信地址,所述对所述区块链中保存的所述电子信件进行投递处理,包括:
基于所述第一智能合约中含有的信件标识,在所述区块链中获取关联保存的电子信件;
从获取的所述电子信件中,获取收信人的收信地址;
将获取的所述电子信件投递至获取的所述收信地址中。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述将所述电子信件和所述投递时间关联保存至区块链中,包括:
调用第二智能合约,根据预设的时间段划分规则,确定所述电子信件所对应的时间段;
将所述电子信件、所述电子信件所对应的时间段和所述投递时间关联保存至区块链中。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述基于智能合约检测当前时间,并根据所述当前时间确定是否对所述区块链中保存的所述电子信件进行投递处理,包括:
基于所述第二智能合约检测当前时间,其中,所述第二智能合约被设定为在到达至少一个电子信件的投递时间时,对所述至少一个电子信件进行投递处理;
确定所述当前时间所对应的目标时间段;
根据所述当前时间和所述区块链中与所述目标时间段关联保存的投递时间,确定是否对所述目标时间段所对应的电子信件进行投递处理。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,还包括:
根据所述信件投递请求,发送投递服务提供请求给各第二区块链节点,通过共识机制在所述各第二区块链节点中确定为所述电子信件提供投递服务的目标区块链节点;
获取奖励所述目标区块链节点所需的通证;
根据预设奖励机制,基于所述通证对所述目标区块链节点进行奖励操作。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述获取奖励所述目标区块链节点所需的通证,包括:
确定所述目标区块链节点的第一数量;
根据所述第一数量、所述投递时间、以及所述预设奖励机制,确定奖励所述目标区块链节点所需的通证的第二数量;
根据所述第二数量,发送通证转移请求给所述寄信人的终端设备,以使所述寄信人通过其终端设备进行通证转移操作;
接收所述寄信人的终端设备转移的所述第二数量的通证。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述根据预设奖励机制,基于所述通证对所述目标区块链节点进行奖励操作,包括:
根据预设奖励机制,确定奖励时间和奖励所述各目标区块链节点的通证的第三数量;
当到达所述奖励时间时,确定所述各目标区块链节点是否处于为所述电子信件提供投递服务的状态;
若处于提供投递服务的状态,则发送所述第三数量的通证至处于提供投递服务状态的目标区块链节点的区块链地址中。
本说明书一个或多个实施例提供的存储介质存储的计算机可执行指令在被处理器执行时,基于区块链中部署的智能合约,自动对当前时间进行检测,并在到达待投递的电子信件的投递时间时自动进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的数据不可篡改性,确保了保存至区块链中的电子信件的真实性以及非***件的保密性;再者,基于区块链的去中心化特性,使得电子信件的投递不依赖于某个区块链节点,而是多个区块链节点共同提供投递服务,因此有效的避免了因某个区块链节点不再提供投递服务,而导致的电子信件寄送不到的问题。
另一个具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
获取寄信人设置的信件要素和投递时间;
根据所述信件要素生成电子信件;
根据所述电子信件和所述投递时间,发送信件投递请求给第一区块链节点,以使所述第一区块链节点在基于智能合约确定到达所述投递时间时,对所述电子信件进行投递处理。
本说明书一个或多个实施例中,通过发送信件投递请求给第一区块链节点,其中,信件投递请求包括投递时间,使得第一区块链节点能够基于智能合约,在到达投递时间时自动对电子信件进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述获取寄信人设置的信件要素和投递时间,包括:
展示信件封面设置界面,获取寄信人在所述信件封面设置界面中所选择的信件封面,或者获取寄信人在所述信件封面设置界面中所上传的信件封面;其中,所述信件封面设置界面包括多个信件封面;以及,
展示信件编辑界面,获取寄信人在所述信件编辑界面中所编辑的收信人的收信地址、信件正文和投递时间;
所述根据所述信件要素生成电子信件,包括:
根据获取的所述信件封面、所述收信人的收信地址、以及所述信件正文,生成电子信件。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述获取寄信人设置的信件要素和投递时间,包括:
获取寄信人设置的信件要素、投递时间、以及隐匿信息;
若所述隐匿信息表征电子信件为非***件,则所述根据所述电子信件和所述投递时间,发送信件投递请求给区块链节点,包括:
采用收信人的公钥对所述电子信件加密,得到电子信件的密文;
根据所述电子信件的密文和所述投递时间,发送信件投递请求给第一区块链节点。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述根据所述电子信件和所述投递时间,发送信件投递请求给第一区块链节点之后,还包括:
接收第一区块链节点发送的通证转移请求,其中,通证转移请求包括所需转移的通证的第二数量;
响应于寄信人对通证转移的触发操作,向所述第一区块链节点转移所述第二数量的通证,以使所述第一区块链节点基于转移的通证对提供投递服务的目标区块链节点进行奖励。
本说明书一个或多个实施例提供的存储介质存储的计算机可执行指令在被处理器执行时,通过发送信件投递请求给第一区块链节点,其中,信件投递请求包括投递时间,使得第一区块链节点能够基于智能合约,在到达投递时间时自动对电子信件进行投递处理,而无需人工参与,极大的提升了电子信件的维护效率,且确保了电子信件的及时有效投递;同时,基于区块链的去中心化特性,使得电子信件的投递不依赖于某个区块链节点,而是多个区块链节点共同提供投递服务,因此有效的避免了因某个区块链节点不再提供投递服务,而导致的电子信件寄送不到的问题。
需要说明的是,本说明书中关于存储介质的实施例与本说明书中关于基于区块链的电子信件投递方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的基于区块链的电子信件投递方法的实施,重复之处不再赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪30年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、***或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本文件的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本文件可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。