发明内容
本说明书实施例提供的一种基于区块链的账单生成方法及装置和电子设备:
根据本说明书实施例的第一方面,提供一种基于区块链的账单生成方法,所述方法包括:
区块链的节点设备接收缴费系统提交的自助出账请求;其中,所述自助出账请求包含用户上传的待缴费图像和识别出的所述待缴费图像中缴费信息;
响应所述自助出账请求,调用发布于所述区块链的智能合约中声明的自助出账逻辑,将所述待缴费图像和缴费信息,以及所述待缴费图像与缴费信息的对应关系在所述区块链中进行存储;
接收账单系统提交的账单生成请求;其中,所述账单请求包含根据所述缴费信息计算出的账单;
响应所述账单生成请求,调用发布于所述区块链的智能合约中声明的账单生成逻辑,将所述账单,以及所述账单与缴费信息的对应关系在所述区块链中进行存储。
可选的,所述待缴费图像与缴费信息的对应关系包括:
缴费信息的数字摘要为针对待缴费图像的内容进行hash计算得到的hash值;
所述账单与缴费信息的对应关系包括:
账单的数字摘要为针对缴费信息的内容进行hash计算得到的hash值。
可选的,所述方法还包括:
接收缴费系统提交的账单查询请求;其中,所述账单查询请求中包含数字摘要;
响应所述账单查询请求,调用发布于所述区块链的智能合约中声明的账单查询逻辑,查询所述数字摘要对应的账单,并将所述账单返回给所述缴费系统。
可选的,所述方法还包括:
接收缴费系统提交的缴费请求;其中,所述缴费请求中包含支付信息和账单的数字摘要;
响应所述缴费请求,调用发布于所述区块链的智能合约中声明的缴费逻辑,查询所述数字摘要对应的账单,并将所述支付信息,以及支付信息与账单的对应关系存储在所述区块链中进行存储。
可选的,所述区块链包括联盟链。
根据本说明书实施例的第二方面,提供一种基于区块链的账单生成装置,所述装置包括:
第一接收单元,区块链的节点设备接收缴费系统提交的自助出账请求;其中,所述自助出账请求包含用户上传的待缴费图像和识别出的所述待缴费图像中缴费信息;
信息记录单元,响应所述自助出账请求,调用发布于所述区块链的智能合约中声明的自助出账逻辑,将所述待缴费图像和缴费信息,以及所述待缴费图像与缴费信息的对应关系在所述区块链中进行存储;
第二接收单元,接收账单系统提交的账单生成请求;其中,所述账单请求包含根据所述缴费信息计算出的账单;
账单生成单元,响应所述账单生成请求,调用发布于所述区块链的智能合约中声明的账单生成逻辑,将所述账单,以及所述账单与缴费信息的对应关系在所述区块链中进行存储。
可选的,所述待缴费图像与缴费信息的对应关系包括:
缴费信息的数字摘要为针对待缴费图像的内容进行hash计算得到的hash值;
所述账单与缴费信息的对应关系包括:
账单的数字摘要为针对缴费信息的内容进行hash计算得到的hash值。
可选的,所述装置还包括:
接收查询子单元,接收缴费系统提交的账单查询请求;其中,所述账单查询请求中包含数字摘要;
响应查询子单元,响应所述账单查询请求,调用发布于所述区块链的智能合约中声明的账单查询逻辑,查询所述数字摘要对应的账单,并将所述账单返回给所述缴费系统。
可选的,所述装置还包括:
接收缴费子单元,接收缴费系统提交的缴费请求;其中,所述缴费请求中包含支付信息和账单的数字摘要;
响应缴费子单元,响应所述缴费请求,调用发布于所述区块链的智能合约中声明的缴费逻辑,查询所述数字摘要对应的账单,并将所述支付信息,以及支付信息与账单的对应关系存储在所述区块链中进行存储。
可选的,所述区块链包括联盟链。
根据本说明书实施例的第七方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为上述任一项基于区块链的账单生成方法。
本说明书实施例,提供了一种基于区块链的账单生成方案,用户通过自助出账方式上报待缴费图像,由缴费系统将待缴费图像和识别出的缴费信息上链进行存证。然后由账单系统根据上链的缴费信息计算出账单,并将账单上链存证。如此,实现自助出账功能,并且由于区块链中数据具有公开透明、不可篡改的特征,解决了对用户上报待缴费图像的信任问题。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着移动支付的不断发展,很对传统服务方都与移动支付机构合作,以增加自身业务的覆盖率。例如生活中必须使用到的自来水、电力、天然气。煤气等生活必需的服务,均可以在第三方支付平台上进行缴费。
如图1所示,传统自助出账以及缴费方案的流程如下:
1、用户可以通过客户端进行自助缴费,上传待缴费图像。
2、自助缴费系统识别待缴费图像中的缴费信息,并将待缴费图像和缴费信息上报给服务方系统。
3、服务系统根据家佛信息计算用户的缴费金额生成账单。
4、用户在查询到账单后进行缴费。
然而,这种方案中存在如下问题:
自助缴费过程涉及多个不同的系统,数据在不同系统之间传输过程中存在被篡改的风险。并且,当发生问题后,也无法追溯到出现问题的系统。
为此,本说明书提出了一种基于区块链的账单生成方案,将用户上报的待缴费图像和识别出的缴费信息以及账单均上链进行存证。由于区块链中数据具有公开透明、不可篡改的特征,整个自助缴费过程公开透明、不会被篡改,提升了自助缴费过程的安全性。
以下结合图1的本说明书提供的基于区块链的账单生成系统的示意图。
所述账单系统可以是指各个服务提供方对应的系统。例如,水务公司对应的水费收费平台;电力公司对应的电费收费平台等等。
所述自助出账平台可以是各个提供自助缴费能力的平台。例如,第三方支付机构、手机银行、网上银行等。
1、用户拍摄待缴费图像,并将待缴费图像上传给缴费系统。
2、缴费系统将所述待缴费图像上链进行存证。
3、缴费系统识别所述待缴费图像的缴费信息,并将所述缴费信息上链进行存证。
其中,区块链还存储缴费信息与待缴费图像的对应关系。例如缴费信息的数字摘要为针对待缴费图像的内容进行hash计算得到的hash值。如此,待缴费图像存证的hash值与缴费信息存证形成链表。
4、账单系统可以周期性轮询链上的“缴费信息”,当有新的区块产生时,则获取新区块中的缴费信息。所述周期可以预先设置,例如可以设置为2秒查询一次。
5、账单系统根据每个缴费信息计算对应的账单,并将账单上链进行存证。
其中,区块链还存储账单与缴费信息的对应关系。例如账单的数字摘要为针对缴费信息的内容进行hash计算得到的hash值。如此,缴费信息存证的hash值与账单存证形成链表。
6、缴费系统可以周期性轮询链上的“账单”,当有新的区块产生时,则获取新区块中的账单。类似的,所述周期可以预先设置,例如可以设置为2秒查询一次。
7、缴费系统在获取新上链的账单后可以通知用户进行缴费。例如像用户推送消息,该消息携带有账单的数字摘要。
8、用户可以发起账单查询,根据账单的数字摘要到链上查找账单,并完成支付。
以下如图2所示介绍本说明书提出了一种基于区块链的账单生成方法的流程图,所述方法包括:
步骤110:区块链的节点设备接收缴费系统提交的自助出账请求;其中,所述自助出账请求包含用户上传的待缴费图像和识别出的所述待缴费图像中缴费信息;
步骤120:响应所述自助出账请求,调用发布于所述区块链的智能合约中声明的自助出账逻辑,将所述待缴费图像和缴费信息,以及所述待缴费图像与缴费信息的对应关系在所述区块链中进行存储;
步骤130:接收账单系统提交的账单生成请求;其中,所述账单请求包含根据所述缴费信息计算出的账单;
步骤140:响应所述账单生成请求,调用发布于所述区块链的智能合约中声明的账单生成逻辑,将所述账单,以及所述账单与缴费信息的对应关系在所述区块链中进行存储。
在本说明书所描述的区块链,具体可以包括私有链、共有链以及联盟链等,在本说明书中不进行特别限定。
例如,在一个场景中,上述区块链具体可以是由提供服务的机构、支付机构等作为联盟成员组成的一个联盟链;该联盟链的运营方可以依托于该联盟链,来部署相应的业务;而以上所描述的作为联盟成员的服务机构、支付机构都可以作为上述业务的一个业务节点。各个业务节点可以将自身所产生或者接收到的与账单相关的信息以交易的形式在联盟链中进行发布,并在该交易经过联盟链中的共识节点的共识处理之后,在联盟链中的分布式数据库进行存储,完成上述交易信息的“上链”存证。
其中,需要说明的是,在本说明书中所描述的交易(Transaction),是指通过区块链的客户端创建,并需要最终发布至区块链的分布式数据库中的一笔数据。
区块链中的交易,通常存在狭义的交易以及广义的交易之分。狭义的交易是指用户向区块链发布的一笔价值转移;例如,在传统的比特币区块链网络中,交易可以是用户在区块链中发起的一笔转账。而广义的交易是指用户向区块链发布的一笔具有业务意图的业务数据;例如,运营方可以基于实际的业务需求搭建一个联盟链,依托于联盟链部署一些与价值转移无关的其它类型的业务(比如,出账业务、查询业务、缴费业务等),而在这类联盟链中,交易可以是用户在联盟链中发布的一笔具有业务意图的业务消息或者业务请求。
上述客户端,可以包括任意类型的以区块链中存储的底层业务数据作为数据支撑,来实现特定的业务功能的上层应用。
在区块链技术中,区块链中节点对区块进行操作通常需要依赖相应的智能合约(Smart contract)。例如在区块链中存储、修改、删除等操作均需要依赖智能合约。所述智能合约可以是一种旨在应用在可以部署在区块链上的以信息化方式传播、验证或执行合同的计算机协议。通过在智能合约中声明业务逻辑可以实现执行相应操作。智能合约允许在没有第三方的情况下进行可信交易。这些交易可追踪且不可逆转。智能合约能够提供优于传统合同方法的安全,并减少与合同相关的其他交易成本。通常,智能合约可以是部署在区块链节点本地的,当节点需要执行某个动作时可以调用相应的智能合约,运行智能合约以执行智能合约中声明的业务逻辑,从而得到执行结果。
在一实施例中,所述待缴费图像与缴费信息的对应关系包括:
缴费信息的数字摘要为针对待缴费图像的内容进行hash计算得到的hash值;
所述账单与缴费信息的对应关系包括:
账单的数字摘要为针对缴费信息的内容进行hash计算得到的hash值。
在一实施例中,所述方法还包括:
接收缴费系统提交的账单查询请求;其中,所述账单查询请求中包含数字摘要;
响应所述账单查询请求,调用发布于所述区块链的智能合约中声明的账单查询逻辑,查询所述数字摘要对应的账单,并将所述账单返回给所述缴费系统。
如前所述,缴费系统可以在获取新上链的账单后可以通知用户进行缴费,并且该通知中携带有账单的数字摘要。
而,用户在接收到缴费通知后进行支付的过程如下:
1、用户向缴费系统发起查询请求,该查询请求携带有上述通知中的数字摘要;
2、缴费系统根据数字摘要组装出用于区块链的账单查询交易;
3、区块链中节点设备响应账单查询交易,调用发布于所述区块链的智能合约中声明的账单查询逻辑,查询所述数字摘要对应的账单,并将所述账单返回给所述缴费系统。
4、缴费系统向用户提供查询到的账单,用于根据账单中的缴费金额调用支付接口支付该缴费金额。
在一实施例中,所述方法还包括:
接收缴费系统提交的缴费请求;其中,所述缴费请求中包含支付信息和账单的数字摘要;
响应所述缴费请求,调用发布于所述区块链的智能合约中声明的缴费逻辑,查询所述数字摘要对应的账单,并将所述支付信息,以及支付信息与账单的对应关系存储在所述区块链中进行存储。
该实施例汇总,针对缴费系统收取用户支付的缴费金额后,缴费系统还可以向区块链提交缴费请求;缴费请求中包含用户支付成功的支付信息如支付凭证和账单的数字摘要。
区块链的节点设备响应所述缴费请求,调用发布于所述区块链的智能合约中声明的缴费逻辑,查询所述数字摘要对应的账单,并将所述支付信息,以及支付信息与账单的对应关系存储在所述区块链中进行存储。
如此,在区块链中一笔账单,即关联有用户上传的待缴费图像,也关联识别出的缴费信息,还关联有用户缴费的支付信息;整个账单生成以及后续缴费过程都有迹可循,任一环节出现问题都可以追查到。
以下具体以生活缴费业务为例,用户通过客户端进行自助抄表,拍摄并上传清晰的展示有数值的表(如电表、水表、燃气表)照片。
缴费系统首先将照片上链存证,然后通过图像识别技术识别照片中显示的数值;并将数值也上链进行存证。在区块链中,存证的照片和数值具有对应关系。
账单系统在获取到新上链的数值后,根据当前数值和用户上一次的数值计算本账期内用户的使用值,在根据单价,计算出缴费金额以生成账单。将账单也上链进行存证。在区块链中,存证的账单和数值也具有对应关系。
与前述基于区块链的账单生成方法实施例相对应,本说明书还提供了基于区块链的账单生成装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机业务程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书基于区块链的账单生成装置所在设备的一种硬件结构图,除了图4所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据基于区块链的账单生成实际功能,还可以包括其他硬件,对此不再赘述。
请参见图5,为本说明书一实施例提供的基于区块链的账单生成装置的模块图,所述装置对应了图3所示实施例,所述装置包括:
第一接收单元310,区块链的节点设备接收缴费系统提交的自助出账请求;其中,所述自助出账请求包含用户上传的待缴费图像和识别出的所述待缴费图像中缴费信息;
信息记录单元320,响应所述自助出账请求,调用发布于所述区块链的智能合约中声明的自助出账逻辑,将所述待缴费图像和缴费信息,以及所述待缴费图像与缴费信息的对应关系在所述区块链中进行存储;
第二接收单元330,接收账单系统提交的账单生成请求;其中,所述账单请求包含根据所述缴费信息计算出的账单;
账单生成单元340,响应所述账单生成请求,调用发布于所述区块链的智能合约中声明的账单生成逻辑,将所述账单,以及所述账单与缴费信息的对应关系在所述区块链中进行存储。
可信的,所述待缴费图像与缴费信息的对应关系包括:
缴费信息的数字摘要为针对待缴费图像的内容进行hash计算得到的hash值;
所述账单与缴费信息的对应关系包括:
账单的数字摘要为针对缴费信息的内容进行hash计算得到的hash值。
可信的,所述装置还包括:
接收查询子单元,接收缴费系统提交的账单查询请求;其中,所述账单查询请求中包含数字摘要;
响应查询子单元,响应所述账单查询请求,调用发布于所述区块链的智能合约中声明的账单查询逻辑,查询所述数字摘要对应的账单,并将所述账单返回给所述缴费系统。
可选的,所述装置还包括:
接收缴费子单元,接收缴费系统提交的缴费请求;其中,所述缴费请求中包含支付信息和账单的数字摘要;
响应缴费子单元,响应所述缴费请求,调用发布于所述区块链的智能合约中声明的缴费逻辑,查询所述数字摘要对应的账单,并将所述支付信息,以及支付信息与账单的对应关系存储在所述区块链中进行存储。
可选的,所述区块链包括联盟链。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上图5描述了基于区块链的账单生成装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
区块链的节点设备接收缴费系统提交的自助出账请求;其中,所述自助出账请求包含用户上传的待缴费图像和识别出的所述待缴费图像中缴费信息;
响应所述自助出账请求,调用发布于所述区块链的智能合约中声明的自助出账逻辑,将所述待缴费图像和缴费信息,以及所述待缴费图像与缴费信息的对应关系在所述区块链中进行存储;
接收账单系统提交的账单生成请求;其中,所述账单请求包含根据所述缴费信息计算出的账单;
响应所述账单生成请求,调用发布于所述区块链的智能合约中声明的账单生成逻辑,将所述账单,以及所述账单与缴费信息的对应关系在所述区块链中进行存储。
可选的,所述待缴费图像与缴费信息的对应关系包括:
缴费信息的数字摘要为针对待缴费图像的内容进行hash计算得到的hash值;
所述账单与缴费信息的对应关系包括:
账单的数字摘要为针对缴费信息的内容进行hash计算得到的hash值。
可选的,还包括:
接收缴费系统提交的账单查询请求;其中,所述账单查询请求中包含数字摘要;
响应所述账单查询请求,调用发布于所述区块链的智能合约中声明的账单查询逻辑,查询所述数字摘要对应的账单,并将所述账单返回给所述缴费系统。
可选的,还包括:
接收缴费系统提交的缴费请求;其中,所述缴费请求中包含支付信息和账单的数字摘要;
响应所述缴费请求,调用发布于所述区块链的智能合约中声明的缴费逻辑,查询所述数字摘要对应的账单,并将所述支付信息,以及支付信息与账单的对应关系存储在所述区块链中进行存储。
可选的,所述区块链包括联盟链。
在上述电子设备的实施例中,应理解,该处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,简称:RAM)、快闪存储器、硬盘或者固态硬盘。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。