技术领域
[0001] 本实用新型涉及区块链技术领域,尤其涉及一种基于区块链的加油数据管理系统。
相关背景技术
[0002] 目前加油站交易使用的是POS机器,在人机交互界面中,车主选择加油升数之后进行加油,车主在加油完成并且确认POS上显示的加油信息和支付信息没有问题之后,由POS机器通过油卡进行扣款,扣款的流水(加油交易信息,包括交易时间,交易金额等信息)会通过加油站的网线被传输到该加油站的交换机,再通过交换机将数据分别进行分发,例如分发到该加油站的管控系统和该地区的加油站总控系统,用以记录加油机记录的交易流水;
[0003] 然而上述现有技术存在以下不足:
[0004] 所有数据均由单个数据库(对于当个加油站站点来说)进行管理,中心化明显,如果说加油站的管控系统出现问题之后,加油站的交易系统就出现了瘫痪,将会产生巨大的经济损失,并且数据安全性不够高。
[0005] 因此,为了解决中心化明显的问题可以采用区块链存储的方式。实用新型内容
[0006] 针对现有技术中存在的上述问题,现提供一种基于区块链的加油数据管理系统。
[0007] 具体技术方案如下:
[0008] 一种基于区块链的加油数据管理系统,其中,包括:
[0009] 多个客户端和服务器,每个客户端均通过服务器与区块链网络连接;
[0010] 数据收集子系统,与服务器连接,并与外接的加油POS机连接,用于获取用户的加油交易信息,并上传至服务器,以使得服务器存储有包括加油交易信息的区块;
[0011] 客户端包括校验模块;
[0012] 服务器包括:
[0013] 第一发送模块,与数据收集子系统和每个客户端连接,用于将区块发送至对应的至少一个客户端,使得客户端中的校验模块对区块中的加油交易信息进行校验;
[0014] 第二发送模块,与第一发送模块和区块链网络连接,于区块中的加油交易信息通过校验后,将区块发送至区块链网络进行存储。
[0015] 优选的,基于区块链的加油数据管理系统,其中,校验模块包括:
[0016] 第一校验获取单元,用于获取第一发送模块发送前的区块;
[0017] 第一解析单元,与第一校验获取单元连接,用于对第一发送模块发送前的区块进行解析,以得到第一发送模块发送前的区块中的加油交易信息;
[0018] 计算单元,与第一解析单元连接,用于对第一发送模块发送前的区块中的加油交易信息进行校验信息计算,得到校验信息,使得区块中的加油交易信息包括校验信息;
[0019] 第二校验获取单元,用于获取第一发送模块发送后的区块;
[0020] 第二解析单元,与第二校验获取单元连接,用于对第一发送模块发送后的区块进行解析,以得到区块中的加油交易信息中的校验数据;
[0021] 校验判断单元,分别与计算单元和第二解析单元连接,用于根据区块的区块头数据判断第一发送模块发送前的区块与第一发送模块发送后的区块是否为同一区块;
[0022] 校验单元,与校验判断单元连接,于第一发送模块发送前的区块与第一发送模块发送后的区块为同一区块时,将第一发送模块发送前的区块对应的校验信息与第一发送模块发送后的区块对应的校验信息进行对比,得到区块的校验结果。
[0023] 优选的,基于区块链的加油数据管理系统,其中,数据收集子系统包括:
[0024] 第一获取模块,从外接的加油POS机上获取用户在的加油交易信息;
[0025] 第一上传模块,与第一获取模块连接,将加油交易信息上传至服务器,使得服务器将加油交易信息写入区块中。
[0026] 优选的,基于区块链的加油数据管理系统,其中,数据收集子系统包括:
[0027] 第二获取模块,从外接的加油POS机上获取用户在的加油交易信息;
[0028] 写入区块模块,与第二获取模块连接,将加油交易信息写入区块中;
[0029] 第二上传模块,与写入区块模块连接,将区块上传至服务器。
[0030] 优选的,基于区块链的加油数据管理系统,其中,第一发送模块包括:
[0031] 识别单元,对区块中的加油交易信息进行识别,以确认对应的客户端;
[0032] 第一发送单元,与识别单元连接,将区块发送至确认后的对应的客户端,使得对应的客户端对区块中的加油交易信息进行校验。
[0033] 优选的,基于区块链的加油数据管理系统,其中,加油交易信息包括:加油数据,交易数据,加油站数据;
[0034] 加油数据包括:加油升数、加油单价和加油总价;
[0035] 交易数据包括:用户身份数据、支付形式和/或支付账号;
[0036] 加油站数据包括:加油站身份信息和加油站地址。
[0037] 上述技术方案具有如下优点或有益效果:
[0038] 第一、通过将加油交易信息写入区块中,并将区块上传至区块链网络中,从而实现对加油交易信息的去中心化,以降低现有技术采用的管控系统对加油站运行的影响,并且实现了对加油交易信息的分块化管理,进而利用区块链网络具有不可篡改的特性保障了加油交易信息的安全性;
[0039] 第二、通过对应的客户端对将要上传至区块链网络的区块进行检验,并将通过校验的区块发送至区块链网络,从而减少了虚假数据或错误数据的上传;
[0040] 第三、简化了对交易对应的加油交易信息上链存储时的复杂度。
具体实施方式
[0048] 下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本实用新型保护的范围。
[0049] 需要说明的是,在不冲突的情况下,本实用新型中的实施例及实施例中的特征可以相互组合。
[0050] 下面结合附图和具体实施例对本实用新型作进一步说明,但不作为本实用新型的限定。
[0051] 本实用新型包括一种基于区块链的加油数据管理系统,如图1所示,包括:
[0052] 多个客户端1和服务器2,每个客户端1均通过服务器2与区块链网络4连接;
[0053] 数据收集子系统3,与服务器2连接,并与外接的加油POS机5连接,用于获取用户的加油交易信息,并上传至服务器2,以使得服务器2存储有包括加油交易信息的区块;
[0054] 客户端1包括校验模块11;
[0055] 服务器2包括:
[0056] 第一发送模块21,与数据收集子系统3和每个客户端1连接,用于将区块发送至对应的至少一个客户端1,使得客户端1中的校验模块11对区块中的加油交易信息进行校验;
[0057] 第二发送模块22,与第一发送模块21和区块链网络4连接,于区块中的加油交易信息通过校验后,将区块发送至区块链网络4进行存储。
[0058] 在上述实施例中,通过将加油交易信息写入区块中,并将区块上传至区块链网络4中,从而实现对加油交易信息的去中心化,以降低现有技术采用的管控系统对加油站运行的影响,并且实现了对加油交易信息的分块化管理,进而利用区块链网络4具有不可篡改的特性保障了加油交易信息的安全性。
[0059] 在上述实施例中,通过对应的客户端1对将要上传至区块链网络4的区块进行检验,并将通过校验的区块发送至区块链网络4,从而减少了虚假数据或错误数据的上传。
[0060] 在上述实施例中,通过服务器2得到新区块时能够同步至对应的至少一个客户端1,从而可以由该服务器2来作为中转设备,并且该服务器2不参与共识,在该服务器2通过新生成的区块检测到需要对新区块进行校验,则可以将新区块通过链下同步的方式同步至交易所涉及的客户端1,以让对应的客户端1对新区块中的加油交易信息进行校验,接收根据对应的客户端1反馈的校验结果来确定交易是否真实可靠,随后将真实可靠的交易对应的新区块上传至区块链网络4;整个流程大大简化了对交易对应的加油交易信息上链存储时的复杂度。
[0061] 在上述实施例中,数据收集子系统3可以为交换机。
[0062] 在上述实施例中,服务器2可以为BSN(Block‑chain‑based Service Network,区块链服务网络)区块链开发平台。
[0063] 在上述实施例中,客户端1可以包括:加油交易信息中的支付形式对应的支付终端(例如支付宝,微信支付,各个银行等),用户对应的客户端1(例如移动终端、电脑等),加油站平台等。
[0064] 进一步地,在上述实施例中,如图2所示,校验模块11包括:
[0065] 第一校验获取单元111,用于获取第一发送模块21发送前的区块;
[0066] 第一解析单元112,与第一校验获取单元111连接,用于对第一发送模块21发送前的区块进行解析,以得到第一发送模块21发送前的区块中的加油交易信息;
[0067] 计算单元113,与第一解析单元112连接,用于对第一发送模块21发送前的区块中的加油交易信息进行校验信息计算,得到校验信息,使得区块中的加油交易信息包括校验信息;
[0068] 第二校验获取单元114,用于获取第一发送模块21发送后的区块;
[0069] 第二解析单元115,与第二校验获取单元114连接,用于对第一发送模块21发送后的区块进行解析,以得到区块中的加油交易信息中的校验数据;
[0070] 校验判断单元116,分别与计算单元113和第二解析单元115连接,用于根据区块的区块头数据判断第一发送模块21发送前的区块与第一发送模块21发送后的区块是否为同一区块;
[0071] 校验单元117,与校验判断单元116连接,于第一发送模块21发送前的区块与第一发送模块21发送后的区块为同一区块时,将第一发送模块21发送前的区块对应的校验信息与第一发送模块21发送后的区块对应的校验信息进行对比,得到区块的校验结果。
[0072] 在上述实施例中,对于任一个客户端1来说,当其接收到第一发送模块21下发的校验请求时,客户端1可以采用校验模块11根据校验请求对加油交易信息进行校验,并将校验结果发送至第二发送模块22,使得第二发送模块22根据对应的客户端1发送的校验结果来判断区块中的加油交易信息是否通过校验。
[0073] 在上述实施例中,校验模块11中的第一校验获取单元111可以直接获取服务器2中未发送至客户端的存储有包括加油交易信息的区块,即校验模块11中的第一校验获取单元111可以直接获取得到没有第一发送模块21发送前的区块;
[0074] 随后第一解析单元112对第一发送模块21发送前的区块进行解析,以得到第一发送模块21发送前的区块中的加油交易信息,并采用计算单元113对上述第一发送模块21发送前的区块中的加油交易信息进行校验信息计算,得到校验信息,并将该校验信息记为第一校验信息;
[0075] 接着,第一发送模块21将区块发送至对应的至少一个客户端1,使得客户端1中的第二校验获取单元114获取第一发送模块21发送后的区块,并采用第二解析单元115对第一发送模块21发送后的区块进行解析,以得到区块中的加油交易信息中的校验数据,此时将该校验数据记为第二校验信息;
[0076] 然后采用校验判断单元116根据区块的区块头数据判断第一发送模块21发送前的区块与第一发送模块21发送后的区块是否为同一区块;
[0077] 最后校验单元117在第一发送模块21发送前的区块与第一发送模块21发送后的区块为同一区块时,将第一校验信息与第二校验信息进行对比,
[0078] 当第一校验信息与第二校验信息一致时,区块的校验结果为通过检验;
[0079] 当第一校验信息与第二校验信息不一致时,区块的校验结果为未通过检验。
[0080] 在上述实施例中,当多条加油交易数据进行上传操作时,从而导致第一发送模块21发送前的区块存在多个,因此第一发送模块21发送后的区块也存在多个,因此可以通过校验判断单元116先根据区块头数据判断第一发送模块21发送前的区块与第一发送模块21发送后的区块是否为同一区块,随后再进行同一区块的校验操作,进而提高校验的准确性;
[0081] 在上述实施例中,由于加油交易数据进行上传操作时的操作语句可能存在间接因素,从而导致获取得到第一发送模块21发送前的区块的操作语句与第一发送模块21发送后的区块的操作语句不通,进而无法确认需要校验的第一发送模块21发送前的区块与第一发送模块21发送后的区块是否为同一区块,进一步降低了校验的准确性,因此可以采用校验判断单元116避免上述缺陷,并提高校验的准确性。
[0082] 作为优选的实施方式,计算单元113对第一发送模块21发送前的区块中的加油交易信息进行校验信息计算的方式可以有很多种。例如,可以基于循环冗余校验(Cyclic Redundancy Check,CRC)进行计算获取校验信息。例如,可以是基于CRC‑16/IBM(一种CRC版本的计算方式)进行计算获取校验信息。
[0083] 进一步地,作为优选的实施方式一,如图3所示,数据收集子系统3可以包括:
[0084] 第一获取模块31,从外接的加油POS机5上获取用户在的加油交易信息;
[0085] 第一上传模块32,与第一获取模块31连接,将加油交易信息上传至服务器2,使得服务器2将加油交易信息写入区块中。
[0086] 在上述优选的实施方式一中,数据收集子系统3只需要获取并将加油交易信息上传至服务器2中即可,不需要参与将加油交易信息写入区块的操作。从而减少数据收集子系统3的工作量。
[0087] 进一步地,作为优选的实施方式二,如图4所示,数据收集子系统3可以包括:
[0088] 第二获取模块33,从外接的加油POS机5上获取用户在的加油交易信息;
[0089] 写入区块模块34,与第二获取模块33连接,将加油交易信息写入区块中;
[0090] 第二上传模块35,与写入区块模块34连接,将区块上传至服务器2。
[0091] 在上述优选的实施方式二中,数据收集子系统3可以获取并将加油交易信息写入区块,随后直接将整个区块上传至服务器2中。从而减少服务器2的工作量。
[0092] 在上述优选的实施方式一和实施方式二中,可以直接从外接的加油POS机5上获取用户在的加油交易信息,避免人工输入存在的输入错误等问题,同时也避免了从加油站平台调用数据存在的加油交易信息不及时的问题。
[0093] 进一步地,在上述实施例中,加油交易信息包括:加油数据,交易数据,加油站数据;
[0094] 加油数据包括:加油升数、加油单价和加油总价;
[0095] 交易数据包括:用户身份数据、支付形式和/或支付账号;
[0096] 加油站数据包括:加油站身份信息和加油站地址。
[0097] 在上述实施例中,加油站身份信息可以包括加油站位置信息、加油站地图、加油站电话、加油站邮箱以及用户对当前加油站的评价等;
[0098] 通过将加油交易信息以区块的形式上传至区块链中,从而实现对加油交易信息进行记录及公布,以便用户对加油站的信息了解得更透彻,从而提高对加油交易信息的安全性。
[0099] 进一步地,在上述实施例中,如图5所示,第一发送模块21包括:
[0100] 识别单元211,对区块中的加油交易信息进行识别,以确认对应的客户端1;
[0101] 第一发送单元212,与识别单元211连接,将区块发送至确认后的对应的客户端1,使得对应的客户端1对区块中的加油交易信息进行校验。
[0102] 在上述实施例中,服务器2可以与一存储设备连接,上述存储设备中存储有每个客户端1对应的地址;
[0103] 当第一发送模块21中的识别单元211对区块中的加油交易信息进行识别,以确认发送对象,即确认对应的客户端1,随后第一发送单元212获取发送对象的对应地址将区块进行发送。
[0104] 作为优选的实施方式,用户上传的某一加油交易信息中涉及的交易对象包括:用户客户端和/或用户采用的支付形式对应的客户端1、用户进行交易的加油站客户端;
[0105] 例如,当用户的支付形式为现金交易时,交易对象包括:用户客户端和用户进行交易的加油站客户端;识别单元211对区块中的加油交易信息进行识别,以得到涉及交易的用户客户端和加油站客户端,第一发送单元212将区块发送至用户客户端和加油站客户端,使得用户客户端和加油站客户端分别对区块中的加油交易信息进行校验;
[0106] 例如,当用户的支付形式为支付宝交易时,交易对象包括:用户客户端、支付宝客户端和用户进行交易的加油站客户端;识别单元211对区块中的加油交易信息进行识别,以得到涉及交易的用户客户端、支付宝客户端和加油站客户端,第一发送单元212将区块发送至用户客户端、支付宝客户端和加油站客户端,使得用户客户端、支付宝客户端和加油站客户端分别对区块中的加油交易信息进行校验。
[0107] 进一步地,在上述实施例中,如图6所示,第二发送模块22包括:
[0108] 判断单元221,用于判断对应的每个客户端1反馈的校验信息是否均为校验通过;
[0109] 若是,区块中的加油交易信息通过校验;
[0110] 若否,区块中的加油交易信息未通过校验,并将校验结果返回给用户;
[0111] 第二发送单元222,与判断单元221连接,于区块中的加油交易信息通过校验后,将区块发送至区块链网络4进行存储。
[0112] 在上述实施例中,只有每个对应的客户端1反馈的校验信息均为校验通过时,判断区块中的加油交易信息通过校验。
[0113] 以上所述仅为本实用新型较佳的实施例,并非因此限制本实用新型的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本实用新型说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本实用新型的保护范围内。