一种数据核算方法、装置及存储介质与流程

文档序号:17149091发布日期:2019-03-19 23:15阅读:165来源:国知局
一种数据核算方法、装置及存储介质与流程

本发明涉及通信技术领域,尤其涉及一种数据核算方法、装置及存储介质。



背景技术:

目前,在大型企业的会计合计及财务数据计算过程中,通常由企业的财务中心(如企业总部或子公司均设立财务中心)进行统一的核算,并根据核算结果进行转账汇款、会计入账或冲销核减等财务处理操作。

然而,在实现本发明的过程中,发明人发现相关技术中由于财务会计科目众多,业务千差万别,导致会计科目的核算和财务报表的生成的工作量巨大,且存在复式记账、借贷恒等式等复杂的计算逻辑,各个财务中心均独立对财务数据进行核算,其计算方式和业务逻辑彼此孤立,在这种情况下一旦某个财务中心出现核算错误的现象,其他财务中心需要再进行核算验证,即后期进行冲正、冲销、重新入账等繁琐的验证和校验操作,不仅耗费大量的人力和物力,降低核算财务数据的准确性和效率,而且对企业业务的稳定性造成不利的影响。



技术实现要素:

有鉴于此,本发明实施例期望提供一种数据核算方法、装置及存储介质,至少用以解决相关技术中难以有效提高核算财务数据的准确性和效率的问题。

为达到上述目的,本发明实施例的技术方案是这样实现的:

第一方面,本发明实施例提供一种数据核算方法,应用于包括区块链节点的通信网络中,所述通信网络至少包括:第一区块链节点和至少一个第二区块链节点,所述第一区块链节点用于表征所述通信网络中对应参与业务的总业务主体,所述第二区块链节点用于表征所述对应参与业务的子业务主体;所述方法包括:

接收所述第一区块链节点提交的数据核算交易指令,其中,所述数据核算交易指令中携带有待核算的数据;

响应于所述数据核算交易指令,触发第一智能合约,其中,所述第一智能合约用于表征部署于所述第一区块链节点中针对所述待核算的数据的核算业务规则;

基于所述第一智能合约,对所述待核算的数据进行背书验证,获得验证结果;

当确定所述验证结果表征所述至少一个第二区块链节点均验证通过时,将所述待核算的数据写入到所述通信网络中对应的交易账本中。

第二方面,本发明实施例还提供一种数据核算装置,所述装置应用于包括区块链节点的通信网络中,所述通信网络至少包括:第一区块链节点和至少一个第二区块链节点,所述第一区块链节点用于表征所述通信网络中对应参与业务的总业务主体,所述第二区块链节点用于表征所述对应参与业务的子业务主体;所述装置包括:第一接收模块、第一触发模块、背书验证模块和数据写入模块;其中,

所述第一接收模块,用于接收所述第一区块链节点提交的数据核算交易指令,其中,所述数据核算交易指令中携带有待核算的数据;

所述第一触发模块,用于响应于所述数据核算交易指令,触发第一智能合约,其中,所述第一智能合约用于表征部署于所述第一区块链节点中针对所述待核算的数据的核算业务规则;

所述背书验证模块,用于基于所述第一智能合约,对所述待核算的数据进行背书验证,获得验证结果;

所述数据写入模块,用于当确定所述验证结果表征所述至少一个第二区块链节点均验证通过时,将所述待核算的数据写入到所述通信网络中对应的交易账本中。

第三方面,本发明实施例还提供一种数据核算装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,所述处理器运行所述可执行程序时执行本发明实施例提供的数据核算方法。

第四方面,本发明实施例还提供一种存储介质,其上存储有可执行程序,所述可执行程序被处理器执行时实现本发明实施例提供的数据核算方法。

本发明实施例所提供的数据核算方法、装置及存储介质,通过接收第一区块链节点提交的数据核算交易指令,其中,所述数据核算交易指令中携带有待核算的数据;响应于所述数据核算交易指令,触发第一智能合约,其中,所述第一智能合约用于表征部署于所述第一区块链节点中针对所述待核算的数据的核算业务规则;基于所述第一智能合约,对所述待核算的数据进行背书验证,获得验证结果;当确定所述验证结果表征至少一个第二区块链节点均验证通过时,将所述待核算的数据写入到所述通信网络中对应的交易账本中。如此,通过区块链技术,将企业中的总业务主体和各个子业务主体对应的核算中心节点组成私有链的通信网络,将数据核算业务规则作为智能合约,从而基于智能合约实现数据核算的去中心化,将数据核算交易结果记录在包括区块链节点的通信网络中,能够有效提高核算财务数据的准确性和效率,提升企业业务的稳定性。

附图说明

图1为本发明实施例提供的一种区块链网络的功能架构示意图;

图2为本发明实施例提供的一种区块链网络的组织架构示意图;

图3为本发明实施例提供的一种区块链网络的具体组成结构示意图;

图4为本发明实施例提供的一种数据核算方法的实现流程示意图;

图5为本发明实施例提供的一种企业中的资产负债表的核算方法的实现流程示意图;

图6为本发明实施例提供的一种数据核算装置的功能组成结构示意图;

图7为本发明实施例提供的一种数据核算装置的硬件结构示意图。

具体实施方式

为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。

需要说明的是,在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

除非另有定义,本发明所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本发明中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。

对本发明实施例进行进一步详细说明之前,先对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。

1)区块(block),记录一段时间内交易所更新的账本数据的数据结构,被标记上时间戳和之前一个区块的独特标记(例如数字指纹),区块经过区块链网络中节点的共识验证后,会被追加到区块链的末尾成为新区块。

2)区块链(blockchain),区块以顺序相连的方式组合成的一种链式数据结构,在每个区块中引用前一个区块或者其子集的哈希值,从而以密码学的方式保证所记录交易的不可篡改和不可伪造。

3)区块链网络,通过共识的方式将新区块纳入区块链的一系列的、无中心的节点的集合。

4)账本(ledger),区块链网络中以账户为维度所记录的数据的总和,包括账本数据、账本状态、账本状态证明和区块索引等元素。

5)账本数据,实际区块数据存储,即区块链中记录的一系列有序的、不可篡改的交易的记录,可以表现为文件系统的文件的形式,交易中调用的智能合约被执行时,实现对账户/账户中数据的更新。

6)账本状态,也称为状态数据,即账本数据的状态,可以表现为数据库中的键值对的形式,其中实时账本状态用于表示共识的交易所更新的键值对的最新记录,历史账本状态用于表示键值对的历史记录。

7)共识(consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对交易结果达成一致,实现共识的机制包括工作量证明(pow,proofofwork)、权益证明(pos,proofofstake)、股份授权证明(dpos,delegatedproof-of-stake)、消逝时间量证明(poet,proofofelapsedtime)等。

8)智能合约(smartcontracts),也称为链码(chaincode),部署在区块链网络中的根据条件而触发执行的程序,链码运行在一个安全的容器中,来初始化和管理账本数据和账本状态。

9)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。

本发明实施例提供的数据核算方法应用于包括区块链节点的通信网络即区块链网络中。下面说明实现本发明实施例的区块链网络的示例性的功能架构,参见图1,图1为本发明实施例提供的一种区块链网络的功能架构示意图,包括应用层101、共识层102、网络层103、数据层104和资源层105,下面分别进行说明。

资源层105封装各种可用的计算资源和存储资源,例如计算机、服务器/集群和云中的计算资源和存储资源,进行抽象并向数据层104提供统一的接口以屏蔽实现资源层105的底层硬件的差异性。

计算资源包括各种形式的处理器,例如中央处理器(cpu,centralprocessingunit)、应用专用集成电路(asic,applicationspecificintegratedcircuit)、专用集成电路和现场可编程门阵列(fpga,field-programmablegatearray)的各种形式的处理器。

存储资源包括各种易失性存储器和非易失性存储器等各种类型的存储介质。其中,非易失性存储器可以是只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)。易失性存储器可以是随机存取存储器(ram,randomaccessmemory),其用作外部高速缓存。

资源层105的计算资源和存储资源可以被映射为区块链网络中各种类型的节点,实现本发明实施例的存储介质存储了用于实现本发明实施例的区块链网络部署方法的可执行指令,一旦被部署到节点的可执行指令被执行,实现节点的底层资源(例如各种类型的处理器)将实现区块链网络中各种类型的节点的部署、以及执行各种类型节点的功能,从而实现针对业务过程中的交易的账本、以及基于账本的各种应用。

作为示例,可执行指令可以采用软件(包括系统程序和应用程序)、软件模块、脚本、插件等的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件或者适合在计算环境中使用的其它单元。

数据层104封装了实现账本的各种数据结构,包括以文件系统实现的账本数据,以数据库形式实现的账本状态和存在性证明。

网络层103封装了点对点(p2p)网络协议、数据传播机制和数据验证机制、接入和认证机制和业务主体身份。p2p网络协议实现区块链网络中节点之间的通信,数据传播机制保证了交易/交易结果在区块链网络中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公钥/私钥对)实现节点之间传输数据的可靠性;接入和认证机制用于基于业务主体身份对终端的接入和认证进行管理。

共识层102封装了区块链中传播的交易结果达成一致性的机制,包括pos、pow和dpos等,支持共识机制的可插拔。

应用层101封装了区块链网络能够实现的各种业务,包括交易结算、溯源和存证等。

实现本发明实施例的区块链网络通过各种方式与开发者连接,并提供各种图形化的方式以进行区块链网络的部署和管理,下面进行说明。

下面说明实现本发明实施例的区块链网络的示例性的组织架构,参见图2,图2为本发明实施例提供的一种区块链网络的组织架构示意图,区块链网络100包括第一区块链节点110和至少一个第二区块链节点120,作为示例,图2中仅示出了第二区块链节点120-1和第二区块链节点120-2;其中,第二区块链节点120-1和第二区块链节点120-2分别是针对参与业务的两个不同的子业务主体而对应部署,第一区块链节点110是针对参与业务的总业务主体而部署。区块链网络100响应来自业务主体的终端300通过网络200提交的数据核算交易指令,以触发第一智能合约,并基于第一智能合约,对待核算的数据进行背书验证,以获得验证结果,根据验证结果判断是否将待核算的数据写入到区块链网络中对应的交易账本中。其中,在终端300的用户界面310上显示各种中间结果或最终结果。网络200可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。

接下来以第一区块链节点为某企业总部市场部财务核算中心为例,向区块链网络中的每个第二区块链节点提交数据核算交易指令,比如会计账目核算交易指令,说明下在财务核算系统中所构成的区块链网络的具体组成结构。

参见图3,图3为本发明实施例提供的一种区块链网络的具体组成结构示意图,在图3中,企业总部市场部财务核算中心与总部营销部财务核算中心、总部法务部财务核算中心,以及子公司1至n财务核算中心分别作为一个节点,且各个节点之间通过p2p的方式进行通信,以构成共享式的财务核算私有链网络即区块链网络。需要说明的是,这里将该区块链网络中的总部营销部财务核算中心、总部法务部财务核算中心,以及子公司1至n财务核算中心分别作为接收数据核算交易指令的第二区块链节点。也就是说,当总部市场部财务核算中心提交会计账目核算交易指令之后,根据区块链共识机制,每个第二区块链节点均需要执行对应业务类型的智能合约,对待核算的会计账目数据进行背书验证,在所有第二区块链节点均验证通过之后,才会将待核算的数据写入到区块链网络中对应的交易账本中,即将待核算的数据进行记账,从而解决相关技术中财务中心化进行记账的方式出现计算错误的可能性,以及降低人工核对的成本。

基于上述描述的区块链网络的组织架构和区块链网络的具体组成结构,下面说明本发明实施例的数据核算方法的实现过程。

图4为本发明实施例提供的一种数据核算方法的实现流程示意图,如图4所示,本发明实施例中的数据核算方法的实现流程,可以包括以下步骤:

步骤401:接收第一区块链节点提交的数据核算交易指令,其中,所述数据核算交易指令中携带有待核算的数据。

本发明实施例中,所述数据核算方法应用于包括区块链节点的通信网络中,所述通信网络至少包括:第一区块链节点和至少一个第二区块链节点,其中,所述第一区块链节点用于表征所述通信网络中对应参与业务的总业务主体,所述第二区块链节点用于表征所述对应参与业务的子业务主体。

这里,所述数据核算交易可以具有多种业务类型,例如,可以是资产负债表的计算交易,也可以是应收应付交易,或者冲销账的核算交易,本发明实施例在此不做限定。

步骤402:响应于所述数据核算交易指令,触发第一智能合约,其中,所述第一智能合约用于表征部署于所述第一区块链节点中针对所述待核算的数据的核算业务规则。

在一些实施例中,在执行本步骤402中的触发第一智能合约之前,所述方法还包括:接收并保存所述第一区块链节点在所述通信网络中广播的所述第一智能合约。

具体来说,第一区块链节点可以在账本的全局状态(worldstate)的状态库,或者整个分布式账本的区块链网络中,通过p2p的方式将第一智能合约统一广播至所有的第二区块链节点。

需要说明的是,基于待核算的数据的业务类型的不同,所述第一智能合约可以有多种表示形式,例如,当待核算的数据的业务类型为资产负债,则第一智能合约为资产负债表核算智能合约;当待核算的数据的业务类型为企业利润,则第一智能合约为利润表核算智能合约;当待核算的数据的业务类型为现金流量,则第一智能合约为现金流量表核算智能合约。

需要指出的是,所述包括区块链节点的通信网络即区块链网络中的每个区块链节点均地位对等,第一区块链节点与各个第二区块链节点相互连通和交互,且每个区块链节点均存储有从原始创建区块到当前最新区块为止的所有待核算的数据,且每个第二区块链节点保存有第一区块链节点提交的数据核算交易相关联的智能合约。其中,智能合约通常是以链码的形式部署在区块链网络中的根据条件而触发执行的程序,且智能合约中定义了针对待核算的数据的核算逻辑。

在一些实施例中,在所述接收并保存所述第一区块链节点在所述通信网络中广播的所述第一智能合约之后,所述方法还包括:监听所述至少一个第二区块链节点与所述第一区块链节点的共识时间;

当监听到所述共识时间达到设定时间阈值时,响应于所述数据核算交易指令,触发所述第一智能合约。

具体来说,所述共识即为位于区块链网络中的第一区块链节点和至少一个第二区块链节点之间对交易结果达成一致,所述共识时间达到设定时间阈值即为第一区块链节点与至少一个第二区块链节点之间对交易结果达成一致的时间达到设定时间阈值,此时,才可以触发并执行第一智能合约,以及通知该第一智能合约的所属区块链节点。

在一些实施例中,在所述触发第一智能合约之前,所述方法还包括:检测当前的触发条件,当检测到所述当前的触发条件满足设定条件时,触发所述第一智能合约。

这里,当检测到所述当前的触发条件未满足设定条件时,则将第一智能合约继续存放于区块链上。

在一些实施例中,在所述触发第一智能合约之前,所述方法还包括:通过所述公钥信息对所述第一智能合约进行签名验证。这样,可以确保所触发的第一智能合约的有效性。

步骤403:基于所述第一智能合约,对所述待核算的数据进行背书验证,获得验证结果。

本发明实施例中,对于本步骤403中的基于所述第一智能合约,对所述待核算的数据进行背书验证来说,可以采用以下方式来实现:

通过所述第一智能合约,获取与所述至少一个第二区块链节点对应的校验证书,其中,所述校验证书中携带有所述至少一个第二区块链节点的身份信息;

根据所述至少一个第二区块链节点的身份信息,对所述待核算的数据进行背书验证。

这里,所述校验证书是通过下述方式生成的:

获取本地构造的密钥对,其中,所述密钥对包括所述至少一个第二区块链节点对应的公钥信息和私钥信息;

通过所述私钥信息,对所述至少一个第二区块链节点的加密算法类型信息、所述公钥信息,以及所述至少一个第二区块链节点的身份信息进行电子签名,以形成所述校验证书。

需要说明的是,公钥信息主要用于对数据进行加密和签名验证,私钥信息主要用于对数据进行解密和数字签名。由于每个第二区块链节点的身份信息不同,导致每个第二区块链节点对应不同的校验证书,也即第二区块链节点与校验证书之间存在一一对应关系。所述校验证书除了可以用于对待核算的数据进行背书验证以外,还可以具有其他功能,例如,还可以用于在执行第一智能合约时,验证区块链节点的财务核算公式恒等式的输出,以及作为触发其他智能合约的公钥信息。

在本发明实施例中,如果第一智能合约是定时条件触发的智能合约(如每个季度末的利润表核算智能合约),则区块链网络中的每个区块链节点作为验证节点,会将收到的第一智能合约保存至内存中,等待新一轮的共识时间,当监听到共识时间达到设定时间阈值时,各个区块链节点会将最近一段时间内保存的所有智能合约(包括第一智能合约以及不同于第一智能合约的其他智能合约)打包成一个合约集合,并计算出该合约集合的第一哈希值,最后将该合约集合的第一哈希值组成一个区块结构,扩散到整个区块链网络中。在其他验证节点接收到该区块结构之后,解析出该区块结构中包括的合约集合的第一哈希值,将第一哈希值与验证节点自身保存的合约集合的第二哈希值进行比较,通过类似的多轮发送和比较,当所有的验证节点在设定时间阈值内均匹配成功时,则确定区块链网络中的所有节点达成共识。

步骤404:当确定所述验证结果表征所述至少一个第二区块链节点均验证通过时,将所述待核算的数据写入到所述通信网络中对应的交易账本中。

在一些实施例中,所述方法还包括:在所述对所述待核算的数据进行背书验证,并在所述至少一个第二区块链节点均验证通过时,触发执行与所述待核算的数据的业务类型相关联的其他业务进程。

例如,当待核算的数据的业务类型为资产负债,则在对待核算的数据进行背书验证,并在验证通过时,可以触发基于应收应付账款的智能合约执行应收应付的交易业务进程,比如触发执行转账的交易业务进程。

在一些实施例中,所述方法还包括:当确定所述验证结果表征所述至少一个第二区块链节点中的至少之一验证未通过时,向所述第一区块链节点发送所述待核算的数据出现异常情况的通知消息。

在一些实施例中,所述方法还包括:

在所述对所述待核算的数据进行背书验证,并在验证通过时,通过所述通信网络中的区块链状态机判断所属第一智能合约的执行状态;

当确定所述所属第一智能合约包括的所有核算事务均执行完成时,将所述所属第一智能合约的当前状态标记为完成状态,并移除所述所属第一智能合约。

在一些实施例中,所述方法还包括:

当确定所述所属第一智能合约包括的所有核算事务中的至少之一未执行完成时,将所述所属第一智能合约的当前状态标记为正在进行的状态,保存所述所属第一智能合约。

采用本发明实施例的技术方案,通过区块链技术,将企业中的总业务主体和各个子业务主体对应的核算中心节点组成私有链的通信网络,将数据核算业务规则作为智能合约,从而基于智能合约实现数据核算的去中心化,将数据核算交易结果记录在包括区块链节点的通信网络中,能够有效提高核算财务数据的准确性和效率,提升企业业务的稳定性。

下面以待核算的数据的业务类型为资产负债为例,对本发明实施例提供的数据核算方法的具体实现过程做进一步说明。

图5为本发明实施例提供的一种企业中的资产负债表的核算方法的实现流程示意图,如图5所示,首先,第一区块链节点即总部市场部财务核算中心提交关于资产负债表的核算交易指令,基于该指令可以触发对应的资产负债表核算智能合约,接下来,总部市场部财务核算中心将该资产负债表核算智能合约进行统一广播,即将该资产负债表核算智能合约广播到整个区块链网络中的多个第二区块链节点即子公司1财务核算中心、子公司2财务核算中心,……,子公司n财务核算中心,每个子公司财务核算中心在接收到总部市场部财务核算中心广播的资产负债表核算智能合约之后,查询该资产负债表核算智能合约涉及的资产负债表的财务数据,该资产负债表的财务数据作为智能合约的输入参数已经存储于该区块链网络中,然后,基于该资产负债表核算智能合约,每个子公司财务核算中心分别对资产负债表的财务数据进行背书验证,当检测到每个子公司财务核算中心均验证通过时,即可将资产负债表的财务数据写入到区块链网络中对应的交易账本中。需要指出的是,当检测到至少有一个子公司财务核算中心验证未通过时,智能合约状态机进一步检查资产负债表的财务数据,当检查到资产负债表的财务数据出现异常时,即可完成当前处理流程。

为了实现上述数据核算方法,本发明实施例还提供了一种数据核算装置,下面说明本发明实施例提供的数据核算装置的功能组成结构。

本发明实施例中,所述数据核算装置可应用于包括区块链节点的通信网络中,所述通信网络至少包括:第一区块链节点和至少一个第二区块链节点,其中,所述第一区块链节点用于表征所述通信网络中对应参与业务的总业务主体,所述第二区块链节点用于表征所述对应参与业务的子业务主体;图6为本发明实施例提供的一种数据核算装置的功能组成结构示意图,如图6所示,所述数据核算装置包括:第一接收模块61、第一触发模块62、背书验证模块63和数据写入模块64。下面对上述各程序模块的功能进行说明。

所述第一接收模块61,用于接收所述第一区块链节点提交的数据核算交易指令,其中,所述数据核算交易指令中携带有待核算的数据;

所述第一触发模块62,用于响应于所述数据核算交易指令,触发第一智能合约,其中,所述第一智能合约用于表征部署于所述第一区块链节点中针对所述待核算的数据的核算业务规则;

所述背书验证模块63,用于基于所述第一智能合约,对所述待核算的数据进行背书验证,获得验证结果;

所述数据写入模块64,用于当确定所述验证结果表征所述至少一个第二区块链节点均验证通过时,将所述待核算的数据写入到所述通信网络中对应的交易账本中。

在本发明实施例中,对于所述背书验证模块63基于所述第一智能合约,对所述待核算的数据进行背书验证来说,可以采用以下方式来实现:通过所述第一智能合约,获取与所述至少一个第二区块链节点对应的校验证书,其中,所述校验证书中携带有所述至少一个第二区块链节点的身份信息;

根据所述至少一个第二区块链节点的身份信息,对所述待核算的数据进行背书验证。

这里,所述校验证书是通过下述方式生成的:

获取本地构造的密钥对,其中,所述密钥对包括所述至少一个第二区块链节点对应的公钥信息和私钥信息;

通过所述私钥信息,对所述至少一个第二区块链节点的加密算法类型信息、所述公钥信息,以及所述至少一个第二区块链节点的身份信息进行电子签名,以形成所述校验证书。

在一些实施例中,所述装置还包括:发送模块,用于当所述背书验证模块63确定所述验证结果表征所述至少一个第二区块链节点中的至少之一验证未通过时,向所述第一区块链节点发送所述待核算的数据出现异常情况的通知消息。

在一些实施例中,所述装置还包括:第二接收模块,用于在所述第一触发模块62触发第一智能合约之前,接收并保存所述第一区块链节点在所述通信网络中广播的所述第一智能合约。

在一些实施例中,所述装置还包括:监听模块,用于在所述第二接收模块接收并保存所述第一区块链节点在所述通信网络中广播的所述第一智能合约之后,监听所述至少一个第二区块链节点与所述第一区块链节点的共识时间;

所述第一触发模块62,具体用于:当所述监听模块监听到所述共识时间达到设定时间阈值时,响应于所述数据核算交易指令,触发所述第一智能合约。

在一些实施例中,所述装置还包括:第二触发模块,用于在所述背书验证模块63对所述待核算的数据进行背书验证,并在验证通过时,触发执行与所述待核算的数据的业务类型相关联的其他业务进程。

在一些实施例中,所述装置还包括:判断模块,用于在所述背书验证模块63对所述待核算的数据进行背书验证,并在验证通过时,通过所述通信网络中的区块链状态机判断所属第一智能合约的执行状态;

第一标记模块,用于当所述判断模块确定所述所属第一智能合约包括的所有核算事务均执行完成时,将所述所属第一智能合约的当前状态标记为完成状态;

移除模块,用于移除所述所属第一智能合约。

在一些实施例中,所述装置还包括:第二标记模块,用于当所述判断模块确定所述所属第一智能合约包括的所有核算事务中的至少之一未执行完成时,将所述所属第一智能合约的当前状态标记为正在进行的状态;

保存模块,用于保存所述所属第一智能合约。

需要说明的是:上述实施例提供的数据核算装置在对财务数据进行核算时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将数据核算装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据核算装置与数据核算方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再详细赘述。

在实际应用中,上述各程序模块均可由位于服务器上的cpu、微处理器(mpu,microprocessorunit)、数字信号处理器(dsp,digitalsignalprocessor)或fpga等实现。

为了实现上述数据核算方法,本发明实施例还提供了一种数据核算装置的硬件结构。现在将参考附图描述实现本发明实施例的数据核算装置,所述数据核算装置可以以各种形式的服务器来实施。下面对本发明实施例的数据核算装置的硬件结构做进一步说明,可以理解,图7仅仅示出了数据核算装置的示例性结构而非全部结构,根据需要可以实施图7示出的部分结构或全部结构。

参见图7,图7为本发明实施例提供的一种数据核算装置的硬件结构示意图,实际应用中可以应用于前述运行应用程序的服务器,图7所示的数据核算装置700包括:至少一个处理器701、存储器702、用户接口703和至少一个网络接口704。所述数据核算装置700中的各个组件通过总线系统705耦合在一起。可以理解,总线系统705用于实现这些组件之间的连接通信。总线系统705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统705。

其中,用户接口703可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。

可以理解,存储器702可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。

本发明实施例中的存储器702用于存储各种类型的数据以支持数据核算装置700的操作。这些数据的示例包括:用于在数据核算装置700上操作的任何计算机程序,如可执行程序7021和操作系统7022,实现本发明实施例的数据核算方法的程序可以包含在可执行程序7021中。

本发明实施例揭示的数据核算方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述数据核算方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执行本发明实施例中提供的各数据核算方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所提供的数据核算方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成本发明实施例提供的数据核算方法的步骤。

本发明实施例中,所述数据核算装置700包括存储器702、处理器701及存储在存储器702上并能够由所述处理器701运行的可执行程序7021,所述处理器701运行所述可执行程序7021时实现:接收所述第一区块链节点提交的数据核算交易指令,其中,所述数据核算交易指令中携带有待核算的数据;响应于所述数据核算交易指令,触发第一智能合约,其中,所述第一智能合约用于表征部署于所述第一区块链节点中针对所述待核算的数据的核算业务规则;基于所述第一智能合约,对所述待核算的数据进行背书验证,获得验证结果;当确定所述验证结果表征所述至少一个第二区块链节点均验证通过时,将所述待核算的数据写入到所述通信网络中对应的交易账本中。

作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:当确定所述验证结果表征所述至少一个第二区块链节点中的至少之一验证未通过时,向所述第一区块链节点发送所述待核算的数据出现异常情况的通知消息。

作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:在所述触发第一智能合约之前,接收并保存所述第一区块链节点在所述通信网络中广播的所述第一智能合约。

作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:在所述接收并保存所述第一区块链节点在所述通信网络中广播的所述第一智能合约之后,监听所述至少一个第二区块链节点与所述第一区块链节点的共识时间;当监听到所述共识时间达到设定时间阈值时,响应于所述数据核算交易指令,触发所述第一智能合约。

作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:通过所述第一智能合约,获取与所述至少一个第二区块链节点对应的校验证书,其中,所述校验证书中携带有所述至少一个第二区块链节点的身份信息;根据所述至少一个第二区块链节点的身份信息,对所述待核算的数据进行背书验证。

作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:所述校验证书是通过下述方式生成的:获取本地构造的密钥对,其中,所述密钥对包括所述至少一个第二区块链节点对应的公钥信息和私钥信息;通过所述私钥信息,对所述至少一个第二区块链节点的加密算法类型信息、所述公钥信息,以及所述至少一个第二区块链节点的身份信息进行电子签名,以形成所述校验证书。

作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:在所述对所述待核算的数据进行背书验证,并在验证通过时,触发执行与所述待核算的数据的业务类型相关联的其他业务进程。

作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:在所述对所述待核算的数据进行背书验证,并在验证通过时,通过所述通信网络中的区块链状态机判断所属第一智能合约的执行状态;当确定所述所属第一智能合约包括的所有核算事务均执行完成时,将所述所属第一智能合约的当前状态标记为完成状态,并移除所述所属第一智能合约。

作为一种实施方式,所述处理器701运行所述可执行程序7021时实现:当确定所述所属第一智能合约包括的所有核算事务中的至少之一未执行完成时,将所述所属第一智能合约的当前状态标记为正在进行的状态,保存所述所属第一智能合约。

在示例性实施例中,本发明实施例还提供了一种存储介质,所述存储介质可为光盘、闪存或磁盘等存储介质,可选为非瞬间存储介质。

本发明实施例中,所述存储介质上存储有可执行程序7021,所述可执行程序7021被处理器701执行时实现:接收所述第一区块链节点提交的数据核算交易指令,其中,所述数据核算交易指令中携带有待核算的数据;响应于所述数据核算交易指令,触发第一智能合约,其中,所述第一智能合约用于表征部署于所述第一区块链节点中针对所述待核算的数据的核算业务规则;基于所述第一智能合约,对所述待核算的数据进行背书验证,获得验证结果;当确定所述验证结果表征所述至少一个第二区块链节点均验证通过时,将所述待核算的数据写入到所述通信网络中对应的交易账本中。

作为一种实施方式,所述可执行程序7021被处理器701执行时实现:当确定所述验证结果表征所述至少一个第二区块链节点中的至少之一验证未通过时,向所述第一区块链节点发送所述待核算的数据出现异常情况的通知消息。

作为一种实施方式,所述可执行程序7021被处理器701执行时实现:在所述触发第一智能合约之前,接收并保存所述第一区块链节点在所述通信网络中广播的所述第一智能合约。

作为一种实施方式,所述可执行程序7021被处理器701执行时实现:在所述接收并保存所述第一区块链节点在所述通信网络中广播的所述第一智能合约之后,监听所述至少一个第二区块链节点与所述第一区块链节点的共识时间;当监听到所述共识时间达到设定时间阈值时,响应于所述数据核算交易指令,触发所述第一智能合约。

作为一种实施方式,所述可执行程序7021被处理器701执行时实现:通过所述第一智能合约,获取与所述至少一个第二区块链节点对应的校验证书,其中,所述校验证书中携带有所述至少一个第二区块链节点的身份信息;根据所述至少一个第二区块链节点的身份信息,对所述待核算的数据进行背书验证。

作为一种实施方式,所述可执行程序7021被处理器701执行时实现:所述校验证书是通过下述方式生成的:获取本地构造的密钥对,其中,所述密钥对包括所述至少一个第二区块链节点对应的公钥信息和私钥信息;通过所述私钥信息,对所述至少一个第二区块链节点的加密算法类型信息、所述公钥信息,以及所述至少一个第二区块链节点的身份信息进行电子签名,以形成所述校验证书。

作为一种实施方式,所述可执行程序7021被处理器701执行时实现:在所述对所述待核算的数据进行背书验证,并在验证通过时,触发执行与所述待核算的数据的业务类型相关联的其他业务进程。

作为一种实施方式,所述可执行程序7021被处理器701执行时实现:在所述对所述待核算的数据进行背书验证,并在验证通过时,通过所述通信网络中的区块链状态机判断所属第一智能合约的执行状态;当确定所述所属第一智能合约包括的所有核算事务均执行完成时,将所述所属第一智能合约的当前状态标记为完成状态,并移除所述所属第一智能合约。

作为一种实施方式,所述可执行程序7021被处理器701执行时实现:当确定所述所属第一智能合约包括的所有核算事务中的至少之一未执行完成时,将所述所属第一智能合约的当前状态标记为正在进行的状态,保存所述所属第一智能合约。

综上所述,本发明实施例具有以下有益效果:

1)将企业中的总业务主体和各个子业务主体对应的核算中心节点组成具有分布式财务节点的区块链网络,可以简化数据核算处理流程,降低企业运营及数据核算成本;

2)采用区块链网络中的智能合约进行数据核算,且核算过程中均需要各个共享的第二区块链节点进行验证通过,提高核算数据的准确性和可信度,减少数据核算错误时进行数据冲正或冲销对业务造成的影响,提升企业业务的稳定性;

3)采用区块链技术,能够保证数据核算过程完全透明公开,且避免数据篡改的情况发生;

4)企业中的各个子业务主体与总业务主体之间能够达成共识,使得数据核算口径的业务统一化。

本领域技术人员应当理解,本发明实施例所记载的各技术方案之间,在不冲突的情况下,可以任意组合。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或可执行程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的可执行程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和可执行程序产品的流程图和/或方框图来描述的。应理解可由可执行程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些可执行程序指令到通用计算机、专用计算机、嵌入式处理机或参考可编程数据处理设备的处理器以产生一个机器,使得通过计算机或参考可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些可执行程序指令也可存储在能引导计算机或参考可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些可执行程序指令也可装载到计算机或参考可编程数据处理设备上,使得在计算机或参考可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或参考可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1