交易数据验证方法、装置、电子设备及存储介质与流程

文档序号:30620107发布日期:2022-07-02 02:18阅读:101来源:国知局
交易数据验证方法、装置、电子设备及存储介质与流程

1.本技术涉及金融领域,尤其涉交易数据验证方法、装置、电子设备及存储介质。


背景技术:

2.目前,在金融机构进行投资或融资交易时,针对当前交易,金融系统会根据前一笔交易的成交价格确定出一个撮合价格,来实现当前交易的达成。
3.相关技术中,直接将上述撮合价格确定为当前交易的成交价格。然而,上述确定撮合价格的方式中,如果前一笔交易的成交价格被恶意篡改,则直接影响了撮合价格的准确性,从而导致交易异常。


技术实现要素:

4.本技术实施例提供一种交易数据验证方法、装置、电子设备及存储介质,解决了相关技术中获取的交易价格准确性低的问题。
5.为实现上述技术目的,本技术实施例采用如下技术方案:
6.第一方面,本技术提供一种交易数据验证方法,应用于第一服务端,该方法包括:接收客户端发送的交易的确认请求,确认请求中包括交易的撮合价和用于确定撮合价的第一历史成交价,第一历史成交价为上一笔交易的成交价,第一历史成交价由第二服务端发送给客户端;在第一历史成交价与第二历史成交价相等,且与第三历史成交价相等的情况下,将撮合价确定为交易的成交价,其中,第二历史成交价为第二服务端发送给第一服务端的上一笔交易的成交价,第三历史成交价为第一服务端上存储的上一笔交易的成交价。
7.由上述可知,本技术提供的交易数据验证方法,第一服务端通过接收的第二服务端发送的第二历史成交价,对客服端接收到的第一历史成交价进行认证。同时,第一服务端也通过第一服务端存储的第三历史成交价格对第一历史成交价格进行再次认证。在同时通过上述双重认证的情况下,即在第一历史成交价和第二历史成交价相等,且与第三历史成交价相等的情况下,则确定撮合价依据的第一历史成交价是准确的,从而保证了得到客户端能获取到精准的撮合价。通过上述双重验证机制,对客户端依赖的第二服务端发送的历史成交价格进行双重认证,以确保客户端进行交易所依赖的第三方传输的历史价格数据的准确性,从而保证了整个交易过程的安全性、可靠性。
8.在本技术一些实施例中,上述交易数据验证方法还包括:向客户端返回交易成功信息,交易成功信息中至少包括交易的成交价;以及,根据交易的确认请求和交易成功信息生成交易的区块信息;将区块信息上传到区块链。
9.在本技术另一些实施例中,区块信息包括交易的成交价的哈希值;在将区块信息上传到区块链之前,上述交易数据验证还包括:获取上一笔交易的成交价的哈希值;根据上一笔交易的成交价的哈希值对交易的成交价进行哈希计算,得到交易的成交价的哈希值。
10.在本技术另一些实施例中,上述交易数据验证还包括:从区块链上的区块信息中获取交易的成交价的哈希值;将获取到的交易的成交价的哈希值,发送至第二服务端,以使
第二服务端存储交易的成交价的哈希值。
11.在本技术另一些实施例中,上述交易数据验证还包括:将交易的成交价的哈希值插入到第一哈希二分树中,第一哈希二分树包括所有已完成交易的成交价的哈希值。
12.在本技术另一些实施例中,上述交易数据验证方法还包括:在第一历史成交价与第二历史成交价不相等,或者第一历史成交价与第三历史成交价不相等的情况下,返回交易失败信息至客户端,交易失败信息用于指示撮合价异常。
13.第二方面,本技术提供一种交易数据验证方法,应用于客户端,该方法包括:向第一服务端发送交易的确认请求,确认请求中包括第一历史成交价和根据第一历史成交价确定的撮合价,第一历史成交价为上一笔交易的成交价,第一历史成交价由第二服务端发送给客户端;确认请求用于使第一服务端确定第一历史成交价与第二历史成交价及第三历史成交价是否相等,以及,在确定第一历史成交价与第二历史成交价及第三历史成交价相等的情况下,将撮合价确定为交易的成交价;其中,第二历史成交价为第二服务端发送给第一服务端的上一笔交易的成交价,第三历史成交价为第一服务端上存储的上一笔交易的成交价。
14.在本技术一些实施例中,在向第一服务端发送交易的确认请求之前,方法还包括:获取交易的第一价格和第二价格,第一价格为交易的预期购买价,第二价格为交易的预期出售价;根据交易的第一价格和第二价格,以及第一历史成交价,确定出交易的撮合价。
15.在本技术另一些实施例中,第一价格大于等于第二价格;根据交易的第一价格和第二价格,以及第一历史成交价,确定出交易的撮合价包括:在第一历史成交价大于第二价格且第一历史成交价小于第一价格的情况下,将第一历史成交价确定为撮合价;在第一历史成交价小于或等于第二价格的情况下,将第二价格确定为撮合价;在第一历史成交价大于第一价格的情况下,将第一价格确定为撮合价。
16.在本技术另一些实施例中,在向第一服务端发送交易的确认请求之后,上述交易数据验证方法还包括:接收第一服务端返回的交易成功信息,交易成功信息包括第一服务端确定出的交易的成交价;或者,接收第一服务端返回的交易失败信息,交易失败信息用于指示撮合价异常。
17.第三方面,本技术提供一种交易数据验证方法,应用于第二服务端,该方法包括:向客户端发送上一笔交易的成交价,以使客户端向第一服务端发送的交易的确认请求中包括第一历史成交价和根据第一历史成交价确定出的撮合价,第一历史成交价为客户端成功接收的上一笔交易的成交价;以及,向第一服务端发送上一笔交易的成交价,已使第一服务端在接收到客户端发送的确认请求后,确定第一历史成交价与第二历史成交价及第三历史成交价是否相等,以及,在确定第一历史成交价与第二历史成交价及第三历史成交价相等的情况下,将撮合价确定为交易的成交价;其中,第二历史成交价为第一服务端成功接收到的上一笔交易的成交价,第三历史成交价为第一服务端上存储的上一笔交易的成交价。
18.在本技术一些实施例中,在向客户端发送上一笔交易的成交价以及,向第一服务端发送上一笔交易的成交价之后,上述交易数据验证方法还包括:接收第一服务端发送的交易的成交价的哈希值;将交易的成交价的哈希值插入至第二哈希二分树,以对交易的成交价的哈希值进行存储。
19.在本技术另一些实施例中,向客户端发送上一笔交易的成交价,以及,向第一服务
端发送上一笔交易的成交价之前,上述交易数据验证方法还包括:从第二哈希二分树中,获取上一笔交易的成交价的哈希值;根据上一笔交易的成交价的哈希值,得到上一笔交易的成交价。
20.第四方面,本技术提供一种交易数据验证装置,包括第一接收模块和第一确定模块。第一接收模块,用于执行接收客户端发送的交易的确认请求,确认请求中包括交易的撮合价和用于确定撮合价的第一历史成交价,第一历史成交价为上一笔交易的成交价,第一历史成交价由第二服务端发送给客户端;第一确定模块,用于执行在第一历史成交价与第二历史成交价相等,且与第三历史成交价相等的情况下,将撮合价确定为交易的成交价,其中,第二历史成交价为第二服务端发送给第一服务端的上一笔交易的成交价,第三历史成交价为第一服务端上存储的上一笔交易的成交价。
21.在本技术一些实施例中,装置还包括:生成模块,用于执行向客户端返回交易成功信息,交易成功信息中至少包括交易的成交价;以及,根据交易的确认请求和交易成功信息生成交易的区块信息;将区块信息上传到区块链。
22.在本技术另一些实施例中,区块信息包括交易的成交价的哈希值;在将区块信息上传到区块链之前,第一确定模块还用于执行:获取上一笔交易的成交价的哈希值;根据上一笔交易的成交价的哈希值对交易的成交价进行哈希计算,得到交易的成交价的哈希值。
23.在本技术另一些实施例中,第一确定模块还用于执行:从区块链上的区块信息中获取交易的成交价的哈希值;将获取到的交易的成交价的哈希值,发送至第二服务端,以使第二服务端存储交易的成交价的哈希值。
24.在本技术另一些实施例中,第一确定模块还用于执行:将交易的成交价的哈希值插入到第一哈希二分树中,第一哈希二分树包括所有已完成交易的成交价的哈希值。
25.在本技术另一些实施例中,第一确定模块还用于执行:在第一历史成交价与第二历史成交价不相等,或者第一历史成交价与第三历史成交价不相等的情况下,返回交易失败信息至客户端,交易失败信息用于指示撮合价异常。
26.第五方面,本技术提供一种交易数据验证装置,应用于客户端,装置包括:第一发送模块。第一发送模块,用于执行向第一服务端发送交易的确认请求,确认请求中包括第一历史成交价和根据第一历史成交价确定的撮合价,第一历史成交价为上一笔交易的成交价,第一历史成交价由第二服务端发送给客户端;确认请求用于使第一服务端确定第一历史成交价与第二历史成交价及第三历史成交价是否相等,以及,在确定第一历史成交价与第二历史成交价及第三历史成交价相等的情况下,将撮合价确定为交易的成交价;其中,第二历史成交价为第二服务端发送给第一服务端的上一笔交易的成交价,第三历史成交价为第一服务端上存储的上一笔交易的成交价。
27.在本技术一些实施例中,在向第一服务端发送交易的确认请求之前,装置还包括:第二确定模块,用于执行获取交易的第一价格和第二价格,第一价格为交易的预期购买价,第二价格为交易的预期出售价;根据交易的第一价格和第二价格,以及第一历史成交价,确定出交易的撮合价。
28.在本技术另一些实施例中,第一价格大于等于第二价格;第二确定模块,用于具体执行:在第一历史成交价大于第二价格且第一历史成交价小于第一价格的情况下,将第一历史成交价确定为撮合价;在第一历史成交价小于或等于第二价格的情况下,将第二价格
确定为撮合价;在第一历史成交价大于第一价格的情况下,将第一价格确定为撮合价。
29.在本技术另一些实施例中,在向第一服务端发送交易的确认请求之后,装置还包括:第二接收模块,用于执行接收第一服务端返回的交易成功信息,交易成功信息包括第一服务端确定出的交易的成交价;或者,接收第一服务端返回的交易失败信息,交易失败信息用于指示撮合价异常。
30.第六方面,本技术提供一种交易数据验证装置,应用于第二服务端,装置包括:第二发送模块。第二发送模块,用于执行向客户端发送上一笔交易的成交价,以使客户端向第一服务端发送的交易的确认请求中包括第一历史成交价和根据第一历史成交价确定出的撮合价,第一历史成交价为客户端成功接收的上一笔交易的成交价;以及,向第一服务端发送上一笔交易的成交价,已使第一服务端在接收到客户端发送的确认请求后,确定第一历史成交价与第二历史成交价及第三历史成交价是否相等,以及,在确定第一历史成交价与第二历史成交价及第三历史成交价相等的情况下,将撮合价确定为交易的成交价;其中,第二历史成交价为第一服务端成功接收到的上一笔交易的成交价,第三历史成交价为第一服务端上存储的上一笔交易的成交价。
31.在本技术另一些实施例中,在向客户端发送上一笔交易的成交价以及,向第一服务端发送上一笔交易的成交价之后,装置还包括:第三接收模块,用于执行接收第一服务端发送的交易的成交价的哈希值;插入模块,用于执行将交易的成交价的哈希值插入至第二哈希二分树,以对交易的成交价的哈希值进行存储。
32.在本技术另一些实施例中,向客户端发送上一笔交易的成交价,以及,向第一服务端发送上一笔交易的成交价之前,第二发送模块,还用于执行:从第二哈希二分树中,获取上一笔交易的成交价的哈希值;根据上一笔交易的成交价的哈希值,得到上一笔交易的成交价。
33.第七方面,本技术提供一种电子设备,包括:处理器;存储器;以及计算机程序,其中计算机程序存储在存储器上,当计算机程序被处理器执行时,使得电子设备执行上述第一方面、第二方面或第三方面提供的交易数据验证方法。
34.第八方面,本技术提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行上述第一方面、第二方面或第三方面提供的交易数据验证方法。
35.第九方面,本技术提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如上述第一方面、第二方面或第三方面提供的交易数据验证方法。
36.本技术中第二方面、第三方面、第四方面、第五方面、第六方面、第七方面、第八方面和第九方面描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
附图说明
37.图1为本技术实施例提供的一种交易数据验证系统的结构示意图;
38.图2为本技术实施例提供的一种交易数据验证方法的流程示意图;
39.图3为本技术实施例提供的另一种交易数据验证方法的流程示意图;
40.图4为本技术实施例提供的另一种交易数据验证方法的流程示意图;
41.图5为本技术实施例提供的另一种交易数据验证方法的流程示意图;
42.图6为本技术实施例提供的另一种交易数据验证方法的流程示意图;
43.图7为本技术实施例提供的另一种交易数据验证方法的流程示意图;
44.图8为本技术实施例提供的另一种交易数据验证方法的流程示意图;
45.图9为本技术实施例提供的一种交易数据验证装置的组成示意图;
46.图10为本技术实施例提供的另一种交易数据验证装置的组成示意图;
47.图11为本技术实施例提供的一种交易数据验证装置的组成示意图;
48.图12为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
49.为了使本技术领域的人员更好地理解本技术中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
50.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
51.在对本公开实施例提供的交易数据验证方法进行详细介绍之前,先对本公开实施例涉及的应用场景和实施架构进行简单介绍。
52.首先,对本公开涉及的应用场景进行简单介绍。
53.相关技术中,交易双方在进行投融资交易时,卖方在交易市场委托销售定单、买方在交易市场委托购买定单,双方价格从录入系统到撮合成交需要最新成交价作比对。如果在历史价格系统的最新成交价的准确性得不到保证,会为银行和客户带来风险。
54.针对上述问题,本技术提供的交易数据验证方法,第一服务端通过接收的第二服务端发送的第二历史成交价,对客服端接收到的第一历史成交价进行认证。同时,第一服务端也通过第一服务端存储的第三历史成交价格对第一历史成交价格进行再次认证。在通过上述双重认证的情况下,即在第一历史成交价和第二历史成交价相等,且与第三历史成交价相等的情况下,则确定撮合价依据的第一历史成交价是准确的,从而保证了得到客户端能获取到精准的撮合价。
55.通过上述双重验证机制,对客户端依赖的第二服务端发送的历史成交价格(即第一历史成交价)进行双重认证,以确保客户端进行交易所依赖的第三方传输的历史价格数据的准确性,从而保证了整个交易过程的安全性、可靠性。
56.其次,对本公开涉及的实施架构进行简单介绍。
57.本技术实施例提供一种交易数据验证方法,该方法用于如图1所示的一种交易数据验证系统。该交易数据验证系统10包括,第一服务端11、第二服务端12和客户端13。第一服务端11、第二服务端12和客户端13采用交易数据验证方法对在交易过程中传输的交易数据进行验证,以保证交易过程中交易数据的准确性。
58.其中,第一服务端11可以是后台系统,其后台系统中存储有金融业务交易过程中
产生的交易信息。第一服务端11接收第二服务端12和客户端13发送的交易数据。
59.示例性的,上述交易信息可以包括接收到的交易请求报文、发送的交易确认完成报文和交易数据(如,历史成交价、撮合价、交易量等)。其交易请求报文包括交易开始时间,交易确认完成报文包括交易结束时间。
60.其中,第二服务端12可以是历史成交价格系统,该历史成交价格系统用于存储已完成交易的成交价格,即历史成交价格。
61.其中,客户端13可以是服务于银行用户终端设备的前端系统。
62.一些实施方式中,银行的前端系统会根据历史成交价格系统发送的上一笔交易的历史成交价格,生成交易的撮合价。后台系统会接收到历史成交价格系统发送的上一笔交易的历史成交价格和接收到前端系统发送的前端系统接收到的上一笔交易的历史成交价格。根据后台系统存储的上一笔交易的历史成交价格和后台系统接收到的上一笔交易的历史成交价格,对前端系统接收的上一笔交易的历史成交价格进行双重认证。
63.在一些实施例中,银行用户终端设备可以是智能终端柜、手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)\虚拟现实(virtual reality,vr)设备等可以安装并使用内容社区应用(如快手)的设备,本公开对该银行用户终端的具体形态不作特殊限制。其可以与银行用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
64.如图2所示为本公开实施例所提供的一种交易数据验证方法的流程示意图,该方法可以应用于图1所示的交易数据验证系统,图1所示的方法可以包括以下步骤:
65.s21,第二服务端向客户端发送上一笔交易的成交价,以及向第一服务端发送上一笔交易的成交价。
66.第二服务端向客户端发送上一笔交易的成交价,以使客户端成功接收的上一笔交易的成交价,即第一历史成交价,从而使客户端向第一服务端发送的交易的确认请求中包括第一历史成交价和根据第一历史成交价确定出的撮合价。
67.第二服务端向第一服务端发送上一笔交易的成交价,以使第一服务端成功接收的上一笔交易的成交价,即第二历史成交价。从而使得第一服务端在接收到客户端发送的确认请求后,第一服务端能根据接收到的第二服务端发送的第二历史成交价和第一服务端存储的第三历史成交价,对客户端的第一历史成交价进行双重认证。
68.其中,第三历史成交价为第一服务端存储的上一笔交易的成交价格;撮合价也称为撮合成交价。
69.需要说明的是,交易可以理解为当前交易,上一笔交易的成交价格可以理解为最新历史成交价格,即所有已完成交易中交易时间最靠前的交易的历史成交价格。
70.交易也可以为交易过程是以撮合交易的方式产生的交易。其中,撮合交易是指卖方在交易市场委托销售定单/买方在交易市场委托购买定单,交易市场按照价格优先、时间优先原则确定双方成交价格并生成电子交易合同,并按交易定单指定的交割仓库进行实物交割的交易方式。
71.作为一种实施方式,第二服务端通过以下步骤一和步骤二,实现对上述步骤s21中
的上一笔交易的成交价的获取。
72.步骤一,第二服务端在从第二哈希二分树中,获取上一笔交易的成交价的哈希值。
73.其中,第二哈希二分树中存储所有已完成交易的成交价的哈希值。
74.在一个例子中,成交价的哈希值是根据成交价的价格序列号和哈希算法得到的。
75.步骤二,第二服务端根据上一笔交易的成交价的哈希值,得到上一笔交易的成交价。
76.在该实施方式中,在第二服务端中存储有所有已完成交易的成交价的哈希值,且所有已完成交易的成交价的哈希值以二分树形成进行存储,即形成了第二哈希二分树。
77.第二服务端通过上述存储方式,使得各个已完成交易的成交价能有序地分布在第二哈希二分树上,以使在获取已完成交易的成交价时,通过遍历其第二哈希二分树,就能快速地获取满足条件的已完成交易的成交价,从而保证了整个交易数据验证过程的快速性。
78.s22,客户端接收第二服务端发送的第一历史成交价。
79.其中,第一历史成交价为由客户端接收到的第二服务端发送的上一笔交易的成交价。
80.作为一种实施方式,如图3所示为本公开实施例所提供的另一种交易数据验证方法的流程示意图。结合图1,如图3,在客户端执行完步骤s22之前,客户端通过执行以下步骤s31和步骤s32,对交易的撮合价进行确定。
81.s31,客户端获取交易的第一价格和第二价格。
82.其中,第一价格为交易的预期购买价,第二价格为交易的预期出售价。
83.在一些实施例中,交易双方在进行投融资交易时,交易的卖方在交易市场委托销售定单包括卖出价,即预期出售价,交易的买方在交易市场委托购买定单包括买入价,即预期购买价。
84.s32,客户端根据交易的第一价格和第二价格,以及第一历史成交价,确定出交易的撮合价。
85.在该实施方式中,客户端根据交易的预期购买价、交易的预期出售价以及第一历史成交价,确定出的交易的撮合价更加符合交易的业务场景,保证了为交易用户账户提供更加准确的撮合价,从而保证了交易过程的可靠性。
86.详细地,在一些实施方式中,如图4所示为本公开实施例所提供的另一种交易数据验证方法的流程示意图。结合图3,如图4,客户端通过以下步骤s41至步骤s43对上述步骤s32具体实施,以根据交易的第一价格和第二价格,以及第一历史成交价,确定出交易的撮合价。
87.s41,在第一历史成交价大于第二价格且第一历史成交价小于第一价格的情况下,将第一历史成交价确定为撮合价。
88.其中,第一价格大于等于第二价格。
89.s42,在第一历史成交价小于或等于第二价格的情况下,将第二价格确定为撮合价;
90.s43,在第一历史成交价大于第一价格的情况下,将第一价格确定为撮合价。
91.在该实施方式中,客户端根据交易的预期购买价、交易的预期出售价以及第一历史成交价三者之间大小关系的不同,确定了不同的撮合价的确定标准。通过上述不同的确
定标准,确定出的撮合价,更能适应不同交易的数据场景,保证了客户端生成的撮合价更加符合交易的数据场景,提高了客户端生成的撮合价的准确性,从而提高了交易过程的可靠性。
92.s23,第一服务端接收第二服务端发送的第二历史成交价。
93.其中,第二历史成交价为第一服务端接收到的第二服务端发送的上一笔交易的成交价。
94.s24,客户端向第一服务端发送交易的确认请求。
95.其中,确认请求中包括交易的撮合价和用于确定撮合价的第一历史成交价。
96.在一些实施例中,确认请求具体为确认请求报文,包括交易的撮合价的价格报文和第一历史成交价的价格报文。
97.s25,第一服务端接收客户端发送的交易的确认请求。
98.通过上述步骤s24和s25,实现了客户端和第一服务端对确认请求的交互,使得第一服务端能接收到客户端生成的撮合价所参考的第一历史成交价,从而使得第一服务端能对该第一历史成交价进行认证。
99.具体地,通过确认请求使得第一服务端确定第一历史成交价与第二历史成交价及第三历史成交价是否相等,以及,在确定第一历史成交价与第二历史成交价及第三历史成交价相等的情况下,将撮合价确定为交易的成交价。
100.s26,第一服务端在第一历史成交价和第二历史成交价相等,且与第三历史成交价相等的情况下,将撮合价确定为交易的成交价。
101.需要说明的是,对上述步骤s23与步骤s22、步骤24和步骤s25的具体执行顺序不作具体限定,只要保证步骤s23,在步骤s21之后且在步骤s26之前即可。例如,可以是同时执行步骤s23和步骤s22,可以先执行步骤s22再执行步骤s23,也可以先执行步骤s23再执行步骤s22。具体执行顺序可以根据具体需求执行。
102.如图5所示为本公开实施例所提供的另一种交易数据验证方法的流程示意图。结合图1,如图5,在第一服务端执行完步骤s26确认交易完成之后,执行以下步骤s51至s54对交易成功信息进行返回和存储。
103.s51,第一服务端向客户端返回交易成功信息,交易成功信息中至少包括交易的成交价。
104.s52,客户端接收第一服务端返回的交易成功信息,交易成功信息包括第一服务端确定出的交易的成交价。
105.s53,第一服务端根据交易的确认请求和交易成功信息生成交易的区块信息。
106.对上述步骤s52和步骤s53的具体执行顺序不作具体限定,可以是同时执行步骤s52和步骤s53,可以先执行步骤s52再执行步骤s53,也可以先执行步骤s53再执行步骤s52。具体执行顺序可以根据具体处理需求执行。
107.s54,第一服务端将区块信息上传到区块链。
108.需要说明的是,区块链上存储有所有已完成交易的区块信息。
109.其中,区块链是一种分布式存储架构,不存在中心化的硬件或管理机构,“去中心化”是其一大优势,而且每一个区块包含有上一区块的哈希值,以及本区块的随机数,生成时间,存储数据等信息,当前区块指向上一区块的哈希值,形成一条“链”。
110.具体地,假如区块链中有一个区块的数据被修改,该区块的哈希值也会改变,进而这条链中所有块的哈希值都要被重新计算,因而需要极大的算力才能对区块链的数据机进行修改,理论上被认为不可能。因此区块链具有“不可修改”的特性,而且节点之间数据交互依托加密学算法,不需要互相信任。
111.区块链分为公有链和私有链,公有链即为公开的,任何人都可以读取和添加的链条,私有链则属于某一机构,只有部分用户可以读取数据或进行修改的链条。
112.在金融业务中,通常是基于私有链对每笔交易的成交价进行存储。
113.示例性的,在某一金融业务中,将每一笔交易的成交价形成过程的交易进度、形成过程以及参与该交易过程形成的交易数据,构成该交易对应的一个区块的区块信息。
114.可以理解的是,区块信息包括交易的确认请求、交易成功信息、交易进度、交易开始时间、交易的完成时间,交易数据和交易要素等。
115.在一些实施例中,在一个交易类型的交易数据验证系统中,针对不同交易类型对应交易的交易进度进行核查,以分析各个交易的交易进行是否符合业务逻辑,以使交易数据验证系统中各笔交易能合理运行,从而保证交易数据验证系统运行速度。
116.在该实施方式中,第一服务端在对客户端的第一历史成交价双重确认通过后,以确定交易成功,即生成交易成功消息。一方面,将交易成功消息返回至客户端,方便了客户端服务的用户账户能了解当前交易的完成进度。另一方面,第一服务端根据交易的确认请求和交易成功信息生成交易的区块信息,且将区块信息上链至区块链上,以使第一服务端以区块链的形式对交易的成交价进行存储,保证了存储的交易的成交价的不可修改性,从而保证了第一服务端存储的所有已完成交易的成交价的安全性和准确性,进而保证了交易过程的安全、可靠。
117.如图6所示为本公开实施例所提供的另一种交易数据验证方法的流程示意图。结合图5,如图6,在第一服务端执行完步骤s54将区块信息上链之前以及在步骤s51之后,通过以下步骤s61和s62生成当前交易的成交价的哈希值。
118.s61,第一服务端获取上一笔交易的成交价的哈希值。
119.在一些实施例中,先对上一笔交易的成交价生成对应的价格序列号,再根据价格序列号生成对应的哈希值。
120.s62,第一服务端根据上一笔交易的成交价的哈希值对交易的成交价进行哈希计算,得到交易的成交价的哈希值。
121.其中,区块信息包括交易的成交价的哈希值。可以理解为,每一笔交易对应区块的区块信息包括每一笔交易的成交价的哈希值。
122.在该实施方式中,将交易的成交价进行哈希计算后,将交易的成交价转换成哈希值,并且该交易的成交价的哈希值的确定与上一笔交易的成交价的哈希值相关联,即该交易的成交价的哈希值会指向上一笔交易的成交价的哈希值。上述以哈希值的形式将交易的成交价存储在区块信息中,使得每笔交易的成交价的哈希值相互关联,即一个哈希值被修改后,其他哈希值均会变化,从而使得在一笔交易的成交价格发生变化,需要其他所有交易的成交价格对应的区块节点都通过共识认证,进而保证了第一服务端存储的所有交易的成交价不可修改性,从而保证了第一服务端对所有交易的成交价的准确性和安全性。
123.如图7所示为本公开实施例所提供的另一种交易数据验证方法的流程示意图。结
合图6,如图7,在第一服务端执行完步骤s62之后,第一服务端通过以下步骤s61实现第二服务端哈希值的存储,将区块链中当前交易的成交价的哈希值。
124.s71,第一服务端从区块链上的区块信息中获取交易的成交价的哈希值。
125.s72,第一服务端将获取到的交易的成交价的哈希值,发送至第二服务端。
126.需要说明的是,通过上述步骤s72使得第二服务端存储交易的成交价的哈希值。
127.s73,第二服务端接收第一服务端发送的交易的成交价的哈希值。
128.s74,第二服务端将交易的成交价的哈希值插入至第二哈希二分树,以对交易的成交价的哈希值进行存储。
129.在该实施方式中,第一服务端将区块链上的区块信息中交易的成交价的哈希值,发送至第二服务端,以保证了发送第二服务端的交易的成交价的哈希值的不可修改性,从而保证了第二服务端中第二哈希二分树存储的交易的成交价的哈希值的精准性,进而保证了整个交易过程中使用的是准确的历史成交价格,提高了交易的准确性。
130.另外,第二服务端将接收到的交易的成交价的哈希值,以二分树的形式存储在第二服务端中,以使所有已完成交易的成交价的哈希值形成第二哈希二分树。因此,在需要从第二服务端获取交易的成交价时,只需遍历第二哈希二分树,就能完成快速获取,提高了从第二服务端获取交易的成交价的速度,保证了交易的快速性。
131.作为一种实施方式,在步骤s71之后,第一服务端通过以下步骤三实现第一哈希二分树的形成。
132.步骤三,第一服务端将区块信息中获取的交易的成交价的哈希值,插入到第一哈希二分树中。
133.其中,第一哈希二分树包括所有已完成交易的成交价的哈希值。
134.在该实施方式中,将区块信息中的交易的成交价的哈希值,以二分树的形式存储在第一服务端中,以使所有已完成交易的成交价的哈希值形成第一哈希二分树。因此,在需要从第一服务端获取交易的成交价时,只需遍历第一哈希二分树,就能完成快速获取,提高了从第一服务端获取交易的成交价的速度,保证了交易的快速性。
135.作为另一种实施方式,在步骤s74之后,通过以下步骤四和步骤五,以第二服务端和第一服务端交互的形式实现第一哈希二分树的形成。
136.步骤四,第二服务端将交易的成交价的哈希值返回至第一服务端。
137.步骤五,第一服务端将第二服务端返回的交易的成交价的哈希值插入到第一哈希二分树中,第一哈希二分树包括所有已完成交易的成交价的哈希值。
138.在该实施方式中,将第二服务端返回至第一服务端交易的成交价的哈希值,以二分树的形式存储在第一服务器中,以使所有已完成交易的成交价的哈希值形成第一哈希二分树。因此,在需要从第一服务端获取交易的成交价时,只需遍历第一哈希二分树,就能完成快速获取,提高了从第一服务端获取交易的成交价的速度,保证了交易的快速性。
139.另外,通过第一服务端接收第二服务端返回交易的成交价的哈希值,对第二服务端接收的交易的成交价的哈希值,进行了再次确认,进一步保证了第二服务端存储的交易的成交价的准确性。
140.如图8所示为本公开实施例所提供的另一种交易数据验证方法的流程示意图。结合图1,如图8,在第一服务端执行完步骤s26之后通过执行以下步骤s81和步骤s82对验证出
交易数据异常的情况进行提示。
141.s81,第一服务端在第一历史成交价和第二历史成交价不相等,或者与第三历史成交价不相等的情况下,返回交易失败信息至客户端。
142.其中,交易失败信息用于指示撮合价异常。
143.s82,客户端接收第一服务端返回的交易失败信息。
144.在该实施方式中,在第一服务端通过第二历史成交价与第三历史成交价对第一历史成交价进行双重认证没有通过的基础上,返回交易失败信息至客户端,以提示客户端关联的用户账户能针对当前交易采取相应措施,以避免对交易继续执行误操作,提高了交易的可靠性。
145.在上述实施方式中,第一服务端通过接收的第二服务端发送的第二历史成交价,对客服端接收到的第一历史成交价进行认证。同时,第一服务端也通过第一服务端存储的第三历史成交价格对第一历史成交价格进行再次认证。在同时通过上述双重认证的情况下,即在第一历史成交价和第二历史成交价相等,且与第三历史成交价相等的情况下,则确定撮合价依据的第一历史成交价是准确的,从而保证了得到客户端能获取到精准的撮合价。
146.通过上述双重验证机制,对客户端依赖的第二服务端发送的历史成交价格进行双重认证,以确保客户端进行交易所依赖的第三方传输的历史价格数据的准确性,从而保证了整个交易过程的安全性、可靠性。
147.为了实现上述功能,交易数据验证装置包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
148.在示例性的实施例中,本技术还提供一种交易数据验证装置。该交易数据验证装置可以包括一个或多个功能模块,用于实现以上方法实施例交易数据验证方法。
149.例如,图9为本技术实施例提供的交易数据验证装置的组成示意图,应用于第一服务端。如图9所示,该交易数据验证装置14包括:第一接收模块141、第一确定模块142和生成模块143。
150.第一接收模块141,用于执行接收客户端发送的交易的确认请求,确认请求中包括交易的撮合价和用于确定撮合价的第一历史成交价,第一历史成交价为上一笔交易的成交价,第一历史成交价由第二服务端发送给客户端,例如,第一接收模块141,用于执行图2中步骤s23和s25;第一确定模块142,用于执行在第一历史成交价和第二历史成交价相等,且与第三历史成交价相等的情况下,将撮合价确定为交易的成交价,其中,第二历史成交价为第二服务端发送给第一服务端的上一笔交易的成交价,第三历史成交价为第一服务端上存储的上一笔交易的成交价,第一确定模块142,用于执行图2中步骤s26。
151.在本技术一些实施例中,上述交易数据验证装置还包括:生成模块143,用于执行向客户端返回交易成功信息,交易成功信息中至少包括交易的成交价;以及,根据交易的确认请求和交易成功信息生成交易的区块信息;将区块信息上传到区块链。
152.在本技术另一些实施例中,区块信息包括交易的成交价的哈希值;在将区块信息上传到区块链之前,第一确定模块142还用于执行:获取上一笔交易的成交价的哈希值;根据上一笔交易的成交价的哈希值对交易的成交价进行哈希计算,得到交易的成交价的哈希值。
153.在本技术另一些实施例中,第一确定模块142还用于执行:从区块链上的区块信息中获取交易的成交价的哈希值;将获取到的交易的成交价的哈希值,发送至第二服务端,以使第二服务端存储交易的成交价的哈希值。
154.在本技术另一些实施例中,第一确定模块142还用于执行:将交易的成交价的哈希值插入到第一哈希二分树中,第一哈希二分树包括所有已完成交易的成交价的哈希值。
155.在本技术另一些实施例中,在第一历史成交价和第二历史成交价相等,且与第三历史成交价相等的情况下,将撮合价确定为交易的成交价之前,第一确定模块142还用于执行:接收第二服务端发送的第二历史成交价。
156.在本技术另一些实施例中,第一确定模块142还用于执行:在第一历史成交价和第二历史成交价不相等,或者与第三历史成交价不相等的情况下,返回交易失败信息至客户端,交易失败信息用于指示撮合价异常。
157.例如,图10为本技术实施例提供的交易数据验证装置的组成示意图,应用于客户端。如图10所示,该交易数据验证装置14包括:第一发送模块144、第二确定模块145和第二接收模块146。
158.第一发送模块144,用于执行向第一服务端发送交易的确认请求,确认请求中包括第一历史成交价和根据第一历史成交价确定的撮合价,第一历史成交价为上一笔交易的成交价,第一历史成交价由第二服务端发送给客户端;确认请求用于使第一服务端确定第一历史成交价与第二历史成交价及第三历史成交价是否相等,以及,在确定第一历史成交价与第二历史成交价及第三历史成交价相等的情况下,将撮合价确定为交易的成交价;其中,第二历史成交价为第二服务端发送给第一服务端的上一笔交易的成交价,第三历史成交价为第一服务端上存储的上一笔交易的成交价。
159.在本技术一些实施例中,在向第一服务端发送交易的确认请求之前,装置还包括:第二确定模块145,用于执行获取交易的第一价格和第二价格,第一价格为交易的预期购买价,第二价格为交易的预期出售价;根据交易的第一价格和第二价格,以及第一历史成交价,确定出交易的撮合价。
160.在本技术另一些实施例中,第一价格大于等于第二价格;第二确定模块145,用于具体执行:在第一历史成交价大于第二价格且第一历史成交价小于第一价格的情况下,将第一历史成交价确定为撮合价;在第一历史成交价小于或等于第二价格的情况下,将第二价格确定为撮合价;在第一历史成交价大于第一价格的情况下,将第一价格确定为撮合价。
161.在本技术另一些实施例中,在向第一服务端发送交易的确认请求之后,装置还包括:第二接收模块146,用于执行接收第一服务端返回的交易成功信息,交易成功信息包括第一服务端确定出的交易的成交价;或者,接收第一服务端返回的交易失败信息,交易失败信息用于指示撮合价异常。
162.例如,图11为本技术实施例提供的交易数据验证装置的组成示意图,应用于第二服务端,交易数据验证装置14包括:第二发送模块147和第三接收模块148。
163.第二发送模块147,用于执行向客户端发送上一笔交易的成交价,以使客户端向第一服务端发送的交易的确认请求中包括第一历史成交价和根据第一历史成交价确定出的撮合价,第一历史成交价为客户端成功接收的上一笔交易的成交价;以及,向第一服务端发送上一笔交易的成交价,已使第一服务端在接收到客户端发送的确认请求后,确定第一历史成交价与第二历史成交价及第三历史成交价是否相等,以及,在确定第一历史成交价与第二历史成交价及第三历史成交价相等的情况下,将撮合价确定为交易的成交价;其中,第二历史成交价为第一服务端成功接收到的上一笔交易的成交价,第三历史成交价为第一服务端上存储的上一笔交易的成交价。
164.在本技术另一些实施例中,在向客户端发送上一笔交易的成交价以及,向第一服务端发送上一笔交易的成交价之后,装置还包括:第三接收模块148,用于执行接收第一服务端发送的交易的成交价的哈希值;插入模块,用于执行将交易的成交价的哈希值插入至第二哈希二分树,以对交易的成交价的哈希值进行存储。
165.在本技术另一些实施例中,向客户端发送上一笔交易的成交价,以及,向第一服务端发送上一笔交易的成交价之前,第二发送模块147,还用于执行:从第二哈希二分树中,获取上一笔交易的成交价的哈希值;根据上一笔交易的成交价的哈希值,得到上一笔交易的成交价。
166.在示例性的实施例中,本技术实施例还提供了一种电子设备,该电子设备可以是上述方法实施例中的所述的交易数据验证方法。图12为本技术实施例提供的电子设备的结构示意图。如图12所示,该电子设备可以包括:处理器101,以及用于存储处理器101可执行指令的存储器103;其中,处理器被配置为执行指令,以实现上述实施例中的交易数据验证方法。
167.另外,电子设备10还可以包括通信总线102、至少一个通信接口104、输入设备106和输出设备105。
168.处理器101可以是一个处理器(central processing units,cpu),微处理单元,asic,或一个或多个用于控制本公开方案程序执行的集成电路。
169.通信总线102可包括一通路,在上述组件之间传送信息。
170.通信接口104,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。
171.输入设备106用于接收输入信号和输出设备105用于输出信号。
172.存储器103可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
173.其中,存储器103用于存储执行本公开方案的指令,并由处理器101来控制执行。处理器101用于执行存储器103中存储的指令,从而实现本公开方法中的功能。
174.在具体实现中,作为一种实施例,处理器101可以包括一个或多个cpu,例如图12中的cpu0和cpu1。
175.在具体实现中,作为一种实施例,电子设备10可以包括多个处理器,例如图12中的处理器101和处理器107。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
176.在示例性的实施例中,本技术实施例还提供一种计算机可读存储介质,其上存储有指令;当该指令由电子设备的处理器执行时,使得处理器执行如前述实施例中所述的方法。其中,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
177.在示例性的实施例中,本技术实施例还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机实现上述实施例中的交易数据验证方法。
178.通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
179.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
180.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
181.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
182.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
183.以上内容,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1