发明内容
为了解决上述问题,本发明的目的在于提供一种基于区块链的pos机结算业务数据管理系统。
本发明的目的通过以下技术方案实现:一种基于区块链的pos机结算业务数据管理系统,包括管理中心,所述管理中心通信连接有pos机终端模块、区块链生成模块、数据存储模块、智能合约模块以及数据查询模块;
所述pos机终端模块用于采集若干个pos机进行结算业务时的结算数据,并将结算数据封装成相应的结算文件;
所述区块链生成模块用于获取结算文件,并为结算文件分配区块节点进而生成待并链区块,通过共识机制将待并链区块进行并链操作,进而生成结算区块链;
所述数据存储模块用于进行结算区块链全部区块相关数据的存储;
所述智能合约模块用于为结算区块链添加智能合约,进而通过智能合约定义结算区块链的结算规则;
所述数据查询模块设置有审核单元和查询单元;所述审核单元用于对进行数据查询的用户的资质进行审核;所述查询单元用于进行数据可视化查询。
进一步的,采集若干个pos机进行结算业务时的结算数据,并将结算数据封装成相应的结算文件的过程包括:
对若干个pos机进行编号,记编号为i,有i=1,2,3,……,n,其中n为大于0的自然数,获取编号为i的pos机进行结算业务对应的结算数据,结算数据包括结算时间、结算金额、结算人信息以及结算地址集,获取结算数据的数据量,记为D,设置若干个数据封装栈,每个数据封装栈设置有固定的封装容量,记为D`,数据封装栈设置有不同的栈状态,栈状态包括工作状态和空闲状态,数据封装栈的初始的栈状态为空闲状态,设置处于工作状态的数据封装栈的数目,记该数目为S,S=D/D`,进而S个数据封装栈按照预设的封装速度将结算数据封装成相应的结算文件。
进一步的,为结算文件分配区块节点生成待并链区块的过程包括:
获取结算文件对应的读权限和写权限,并通过读权限读取结算文件,验证结算时间和结算金额的数据格式是否正确,验证结算人信息是否符合预设的规范信息表单,若二者都满足,则继续判断结算地址集中是否存在外界攻击信息,若二者有任一不满足,则停止读取结算文件;
若结算地址集中包括之前该pos机未收录的结算地址,则表示结算地址集中存在外界攻击信息,否则,则不存在外界攻击信息,此时,将结算文件标识为安全文件,设置区块节点的区块大小和生成速度,进而生成区块节点并分配至结算文件处,通过写权限将结算文件写入至区块节点内,进而生成待并链区块。
进一步的,生成所述结算区块链的过程包括:
获取若干个待并链区块,通过共识机制获取每个待并链区块的工作量,设置若干个工作量归并区间,进行待并链区块的工作量与工作量归并区间的比对,进而将处于同一工作量归并区间的部分待并链区块进行合并,进而生成子结算区块链,当全部的子结算区块链生成后,设置子结算区块链的区块链接点位,通过区块链接点位将全部的子结算区块链进行并链操作,进而生成结算区块链。
进一步的,进行结算区块链全部区块相关数据的存储的过程包括:
获取结算区块链所对应的全部区块相关数据,区块相关数据包括一类数据和二类数据,一类数据为区块生成数据,区块生成数据包括结算区块链中各个区块的生成时间和区块大小,二类数据为结算相关数据,结算相关数据包括结算时间、结算金额和结算人信息,设置数据库存储一类数据和二类数据。
进一步的,为结算区块链添加智能合约,进而定义结算区块链的结算规则的过程包括:
选择合约编写语言的类型,并在预设的初始空白文档上进行智能合约相关代码的编写,进而将空白文档转换为智能合约文档,智能合约文档用于记录智能合约,智能合约包括甲方智能合约和乙方智能合约,分别为结算双方对应的甲方和乙方各自所持有;
将结算双方的智能合约部署添加至结算区块链,结算规则包括结算请求规则、结算验证规则、结算确认规则以及需求扩展规则,结算双方通过结算请求规则发送各自在结算区块链上的结算请求,通过结算验证规则验证各自的结算请求是否均正确;
若是,则通过结算确认规则生成该结算请求对应的交易文件,若否,则不进行任何操作,当结算双方有新的结算规则的需求时,生成相应的需求文本,并按照需求扩展规则将需求文本录入至交易文件内,将交易文件存储至数据库。
进一步的,对进行数据查询的用户的资质进行审核的过程包括:
设置数据库的数据查询时段,记为T查,有T查=[T1,T2],其中T1为数据查询时段的起始时间,T2为数据查询时段的截止时间,在T1时刻之前,获取申请查询的用户的历史查询表单,审核单元通过历史查询表单来判定当前申请查询的用户的资质是否合格,若历史查询表单内记录的用户的错误查询操作的次数超过设定的阈值上限,则判断当前用户资质不合格,否则,判断资质为合格,为资质审核完成的用户赋予不同的审核标识,审核标识包括Sign1和Sign2,为资质合格的用户赋予Sign1,为资质审核不合格的用户赋予Sign2。
进一步的,进行数据可视化查询的过程包括:
所述查询单元接收不同的审核标识,并根据审核标识决定是否允许审核标识对应的用户进行可视化查询,若接收到的审核标识为Sign1,则允许审核标识对应的用户进行数据可视化查询,若接收到的审核标识为Sign2,则禁止当前的审核标识对应的用户进行数据可视化查询;
通过数据可视化查询获取不同类型的可视化数据,其类型包括可视化柱状图、可视化折线图、可视化饼图以及可视化散点图,设置展现区域进行可视化数据的呈现,并提供给用户一些数据交互功能,数据交互功能包括对可视化数据的过滤、缩放以及导出。
与现有技术相比,本发明的有益效果是:通过pos机终端模块进行若干个pos机的布置,进而获取pos机进行结算业务时的结算数据,将结算数据封装为结算文件,在pos机执行结算业务时,pos机内置的风险排查程序进行病毒扫描和病毒清除,一定程度上降低了病毒数据所造成的危害;通过区块链生成模块对结算文件进行区块节点分配,进而在并链操作后生成结算区块链,通过智能合约定义结算区块链的结算规则,提供了结算业务的理论规则,达到了高效安全完成结算业务的目的,通过可视化查询使得结算双方能够更直观的查看数据。
具体实施方式
如图1所示,本实施例提供了一种基于区块链的pos机结算业务数据管理系统,包括管理中心,所述管理中心通信连接有pos机终端模块、区块链生成模块、数据存储模块、智能合约模块以及数据查询模块;
所述pos机终端模块用于采集若干个pos机进行结算业务时的结算数据,并将结算数据封装成相应的结算文件;
所述区块链生成模块用于获取结算文件,并为结算文件分配区块节点进而生成待并链区块,通过共识机制将待并链区块进行并链操作,进而生成结算区块链;
所述数据存储模块用于进行结算区块链全部区块相关数据的存储;
所述智能合约模块用于为结算区块链添加智能合约,进而通过智能合约定义结算区块链的结算规则;
所述数据查询模块设置有审核单元和查询单元;所述审核单元用于对进行数据查询的用户的资质进行审核;所述查询单元用于进行数据可视化查询。
需要进一步说明的是,在具体实施过程中,采集所述若干个pos机进行结算业务时的结算数据,并将结算数据封装成相应的结算文件的过程包括:
所述pos机终端模块设置有通信终端,通过所述通信终端进行若干个pos机的通信连接,并对若干个pos机进行编号,记编号为i,有i=1,2,3,……,n,其中n为大于0的自然数;
每个pos机关联设置有风险排查程序,所述风险排查程序用于判断当前pos机是否存在病毒信息,当编号为i的pos机进行结算业务时,启动其相应的风险排查程序进行病毒扫描和病毒清除;
病毒扫描和病毒清除的内容为:定义当前pos机的扫描范围,并设置扫描选项的种类,进而风险排查程序通过调用病毒扫描软件进行病毒的扫描,并实时记录扫描进度,当扫描进度为100%时,表示病毒扫描已完成,获取病毒扫描所生成的恶意代码片段以及其对应的文件目录,将恶意代码片段从文件目录中移出,进而形成隔离状态防止对其他文件目录的破坏,将该文件目录进行删除,并通过调用预设的目录撰写代码生成新的文件目录,以实现文件目录的修复和病毒的清除;
当病毒扫描和病毒清除完成后,编号为i的pos机获取结算业务对应的结算数据,所述结算数据包括结算时间、结算金额、结算人信息以及结算地址集;
获取结算数据的数据量,记该数据量为D,设置若干个数据封装栈,并对数据封装栈进行编号,记编号为j,j=1,2,3,……,m,其中m为大于0的自然数,每个数据封装栈设置有固定的封装容量,记为D`;
数据封装栈设置有不同的栈状态,栈状态包括工作状态和空闲状态,数据封装栈的初始的栈状态为空闲状态,表示不进行结算数据的封装;
通过数据量D和封装容量D`设置出处于工作状态的数据封装栈的数目,记该数目为S,则有S=D/D`,当S为小数时,S的数值向上取整,例如:S计算结果为3.4,则S取值为4;
进而S个数据封装栈按照预设的封装速度将结算数据封装成相应的结算文件。
需要进一步说明的是,在具体实施过程中,获取结算文件,并为结算文件分配区块节点进而生成待并链区块的过程包括:
获取结算文件,所述结算文件关联有对应的读权限和写权限;
获取读权限,并通过读权限对结算文件进行读取,设置对结算文件的读取速度,进而依次读取结算文件所包括的结算时间、结算金额、结算人信息以及结算地址集;
验证结算时间和结算金额的数据格式是否正确,验证结算人信息是否符合预设的规范信息表单,若二者都满足,则继续判断结算地址集中是否存在外界攻击信息,若二者有任一不满足,则停止读取结算文件;
若结算地址集中包括之前该pos机未收录的结算地址,则表示结算地址集中存在外界攻击信息,否则,则不存在外界攻击信息,此时,将结算文件标识为安全文件,设置区块节点的区块大小和生成速度,进而生成区块节点,并将该区块节点分配至结算文件处,通过写权限将结算文件写入至区块节点内,进而生成待并链区块。
需要进一步说明的是,在具体实施过程中,通过共识机制将待并链区块进行并链操作,进而生成结算区块链的过程包括:
获取若干个结算文件对应生成的待并链区块,通过共识机制获取每个待并链区块的工作量,设置若干个工作量归并区间,进行若干个待并链区块的工作量与若干个工作量归并区间的比对;
进而将处于同一工作量归并区间的部分待并链区块进行合并,并设置链接速度和链接点,判断两个待并链区块的链接点是否存在数据冲突情况,若否,则按照链接速度在链接点进行两个待并链区块的链接,进而生成子结算区块链,若是,则解决数据冲突后,生成相应的子结算区块链;
当全部的子结算区块链生成后,设置子结算区块链的区块链接点位,通过区块链接点位将全部的子结算区块链进行并链操作,进而生成结算区块链。
需要进一步说明的是,在具体实施过程中,所述数据存储模块进行结算区块链全部区块相关数据的存储的过程包括:
获取结算区块链所对应的全部区块相关数据,所述区块相关数据包括一类数据和二类数据,一类数据为区块生成数据,区块生成数据包括结算区块链中各个区块的生成时间和区块大小,二类数据为结算相关数据,结算相关数据包括结算时间、结算金额和结算人信息;
设置数据库以及数据库对应的安全鉴定时段和数据存储时段,在安全鉴定时段判断数据库对应的存储环境是否存在风险,若存在,则在数据存储时段不进行区块相关数据的存储操作,若不存在,则在数据存储时段将全部的区块相关数据存储至数据库中;
数据库设置存储A区和存储B区,存储A区用于存储一类数据,存储B区用于存储二类数据。
需要进一步说明的是,在具体实施过程中,为所述结算区块链添加智能合约,进而通过智能合约定义结算区块链的结算规则的过程包括:
选择合约编写语言的类型,此处选择的编写语言的类型为Solidity语言,通过Solidity语言在预设的初始空白文档上进行智能合约相关代码的编写,进而将空白文档转换为智能合约文档;
所述智能合约文档用于记录智能合约,所述智能合约包括甲方智能合约和乙方智能合约两种不同类型,即不同类型智能合约为结算双方对应的甲方和乙方各自所持有;
持有智能合约的对应关系如下:
甲方-甲方智能合约,乙方-乙方智能合约;
将结算双方的智能合约部署添加至结算区块链,进而生成对应的部署地址和部署状态,所述部署状态包括“正常部署”和“异常部署”,当“正常部署”时,通过智能合约定义出结算区块链的结算规则,当为“异常部署”时,获取部署地址,进而为部署地址接入一个远程控制,通过远程控制定位出结算区块链的异常信息,并对异常信息进行修复;
所述结算规则包括结算请求规则、结算验证规则、结算确认规则以及需求扩展规则,结算双方通过结算请求规则发送各自在结算区块链上的结算请求,通过结算验证规则验证各自的结算请求是否均正确;
若是,则通过结算确认规则生成该结算请求对应的交易文件,若否,则不进行任何操作;当结算双方有新的结算规则的需求时,生成相应的需求文本,并按照需求扩展规则将需求文本录入至交易文件内,将交易文件存储至数据库。
需要进一步说明的是,在具体实施过程中,所述审核单元对进行数据查询的用户的资质进行审核的过程包括:
设置数据库的数据查询时段,记为T查,有T查=[T1,T2],其中T1为数据查询时段的起始时间,T2为数据查询时段的截止时间,在数据查询时段开始之前,即T1时刻之前,获取申请查询的用户的历史查询表单;
审核单元通过历史查询表单来判定当前申请查询的用户的资质是否合格,若历史查询表单内记录的用户的错误查询操作的次数超过设定的阈值上限,则判断当前用户资质不合格,否则,判断资质为合格;
为资质审核完成的用户赋予不同的审核标识,所述审核标识包括Sign1和Sign2,为资质合格的用户赋予的审核标识为Sign1,为资质审核不合格的用户赋予的审核标识为Sign2。
需要进一步说明的是,在具体实施过程中,所述查询单元进行数据可视化查询的过程包括:
所述查询单元接收不同的审核标识,并根据审核标识决定是否允许审核标识对应的用户进行可视化查询;
若接收到的审核标识为Sign1,则允许审核标识对应的用户进行数据可视化查询,若接收到的审核标识为Sign2,则禁止当前的审核标识对应的用户进行数据可视化查询;
通过数据可视化查询获取不同类型的可视化数据,其类型包括可视化柱状图、可视化折线图、可视化饼图以及可视化散点图,设置展现区域进行可视化数据的呈现,并提供给用户一些数据交互功能,所述数据交互功能包括过滤、缩放以及导出。
以上实施例仅用以说明本发明的技术方法而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方法进行修改或等同替换,而不脱离本发明技术方法精神和范围。