首页 / 专利库 / 银行与财务事项 / 证券 / 证券登记数据核对方法、装置、计算机设备及存储介质

证券登记数据核对方法、装置、计算机设备及存储介质

阅读:1029发布:2020-05-28

专利汇可以提供证券登记数据核对方法、装置、计算机设备及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 证券 登记数据核对方法、装置、计算机设备及存储介质,应用于 数据处理 技术领域,用于解决现有证券登记数据核对方法的时间复杂度高,处理效率低下的问题。本发明提供的方法包括:从证券登记结算 服务器 上下载第一数据文件;获取本地 数据库 中的第二数据文件;以证券账号作为哈希表的key值,将第一数据文件读取至第一哈希表,将第二数据文件读取至第二哈希表,第一、二哈希表存储于内存中;针对第二哈希表中的每一个key值,在第一哈希表中查询出与key值对应的value值作为第一value值,对比第一value值与第二value值,得到对比结果;将对比结果为对比不一致的value值和key值写入数据修正文件;将数据修正文件发送至证券登记结算服务器。,下面是证券登记数据核对方法、装置、计算机设备及存储介质专利的具体信息内容。

1.一种证券登记数据核对方法,其特征在于,包括:
从证券登记结算服务器上下载第一数据文件,所述第一数据文件包括各个证券账号对应的证券登记数据;
获取本地数据库中的第二数据文件,所述第二数据文件包括各个证券账号对应的待核对的证券交易数据;
以证券账号作为哈希表的key值,将所述第一数据文件读取至第一哈希表,所述第一哈希表存储于内存中;
以证券账号作为哈希表的key值,将所述第二数据文件读取至第二哈希表,所述第二哈希表存储于内存中;
针对所述第二哈希表中的每一个key值,在所述第一哈希表中查询出与所述key值对应的value值作为第一value值;
针对所述第二哈希表中的每一个key值,对比所述第一value值与第二value值,得到对比结果,所述第二value值是指在第二哈希表中所述key值对应的value值;
在得到所述第二哈希表中每一个key值的对比结果后,将对比结果为对比不一致的value值和key值写入数据修正文件;
将所述数据修正文件发送至证券登记结算服务器。
2.根据权利要求1所述的证券登记数据核对方法,其特征在于,在以证券账号作为哈希表的key值,将所述第一数据文件读取至第一哈希表之前,还包括:
接收指定客户端发起的核对指令;
将所述核对指令写入预设的指令表中;
当预设的指定时间到达时,逐条获取并执行所述指令表中的指令;
当获取到所述核对指令时,执行以证券账号作为哈希表的key值,将所述第一数据文件读取至第一哈希表的步骤。
3.根据权利要求1所述的证券登记数据核对方法,其特征在于,所述获取本地数据库中的第二数据文件包括:
获取指定核对字段;
从本地数据库中筛选出各个证券账号对应的、所述指定核对字段下的证券交易数据作为待核对的证券交易数据;
导出所述待核对的证券交易数据,得到第二数据文件。
4.根据权利要求1至3中任一项所述的证券登记数据核对方法,其特征在于,所述将对比结果为对比不一致的value值和key值写入数据修正文件包括:
获取对比结果为对比不一致的key值在第一哈希表中对应的value值,作为第三value值;
获取对比结果为对比不一致的key值在第二哈希表中对应的value值,作为第四value值;
将对比结果为对比不一致的key值、所述第三value值和所述第四value值写入数据修正文件。
5.根据权利要求4所述的证券登记数据核对方法,其特征在于,所述证券登记数据核对方法还包括:
获取所述第三value值与所述第四value值之间对比不一致的差异数据;
在将所述第三value值和所述第四value值写入数据修正文件之后,在所述数据修正文件中重点标注所述第三value值和/或所述第四value值上的所述差异数据。
6.一种证券登记数据核对装置,其特征在于,包括:
文件下载模,用于从证券登记结算服务器上下载第一数据文件,所述第一数据文件包括各个证券账号对应的证券登记数据;
文件获取模块,用于获取本地数据库中的第二数据文件,所述第二数据文件包括各个证券账号对应的待核对的证券交易数据;
第一文件读取模块,用于以证券账号作为哈希表的key值,将所述第一数据文件读取至第一哈希表,所述第一哈希表存储于内存中;
第二文件读取模块,用于以证券账号作为哈希表的key值,将所述第二数据文件读取至第二哈希表,所述第二哈希表存储于内存中;
查询模块,用于针对所述第二哈希表中的每一个key值,在所述第一哈希表中查询出与所述key值对应的value值作为第一value值;
对比模块,用于针对所述第二哈希表中的每一个key值,对比所述第一value值与第二value值,得到对比结果,所述第二value值是指在第二哈希表中所述key值对应的value值;
修正数据写入模块,用于在得到所述第二哈希表中每一个key值的对比结果后,将对比结果为对比不一致的value值和key值写入数据修正文件;
修正文件发送模块,用于将所述数据修正文件发送至证券登记结算服务器。
7.根据权利要求6所述的证券登记数据核对装置,其特征在于,所述证券登记数据核对装置还包括:
核对指令接收模块,用于接收指定客户端发起的核对指令;
核对指令写入模块,用于将所述核对指令写入预设的指令表中;
指令获取模块,用于当预设的指定时间到达时,逐条获取并执行所述指令表中的指令;
触发模块,用于当获取到所述核对指令时,触发所述第一文件读取模块。
8.根据权利要求6或7所述的证券登记数据核对装置,其特征在于,所述文件获取模块包括:
核对字段获取单元,用于获取指定核对字段;
交易数据筛选单元,用于从本地数据库中筛选出各个证券账号对应的、所述指定核对字段下的证券交易数据作为待核对的证券交易数据;
交易数据导出单元,用于导出所述待核对的证券交易数据,得到第二数据文件。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至
5中任一项所述证券登记数据核对方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述证券登记数据核对方法的步骤。

说明书全文

证券登记数据核对方法、装置、计算机设备及存储介质

技术领域

[0001] 本发明涉及数据处理技术领域,尤其涉及证券登记数据核对方法、装置、计算机设备及存储介质。

背景技术

[0002] 在当前证券交易行业中,各大证券交易公司均需要及时将证券交易数据在指定的证券登记结算服务器上进行登记、公示,比如在中国,证券交易公司需要将证券交易数据上传给中国证券登记结算有限公司的服务器上。为了确保登记数据的准确性,证券交易公司一般需要定期核对证券登记结算服务器上登记的数据是否与本地服务登记的数据一致,若不一致,需要向证券登记结算公司报送不一致数据。
[0003] 目前,这个数据核对的过程一般是先从证券登记结算服务器上下载证券登记数据到数据库中,然后根据本地数据库中需核对的证券交易数据逐条查询数据库中对应的证券登记数据并进行对比,在逐条得到对比结果后,再根据对比结果来更新证券登记结算服务器上的数据。
[0004] 然而,逐条查询数据库中对应的证券登记数据,这种方式的时间复杂度较高,处理效率低下。因此,寻找一种更高效的证券登记数据核对方法成为本领域技术人员亟需解决的额问题。

发明内容

[0005] 本发明实施例提供一种证券登记数据核对方法、装置、计算机设备及存储介质,以解决现有证券登记数据核对方法的时间复杂度高,处理效率低下的问题。
[0006] 一种证券登记数据核对方法,其特征在于,包括:
[0007] 从证券登记结算服务器上下载第一数据文件,所述第一数据文件包括各个证券账号对应的证券登记数据;
[0008] 获取本地数据库中的第二数据文件,所述第二数据文件包括各个证券账号对应的待核对的证券交易数据;
[0009] 以证券账号作为哈希表的key值,将所述第一数据文件读取至第一哈希表,所述第一哈希表存储于内存中;
[0010] 以证券账号作为哈希表的key值,将所述第二数据文件读取至第二哈希表,所述第二哈希表存储于内存中;
[0011] 针对所述第二哈希表中的每一个key值,在所述第一哈希表中查询出与所述key值对应的value值作为第一value值;
[0012] 针对所述第二哈希表中的每一个key值,对比所述第一value值与第二value值,得到对比结果,所述第二value值是指在第二哈希表中所述key值对应的value值;
[0013] 在得到所述第二哈希表中每一个key值的对比结果后,将对比结果为对比不一致的value值和key值写入数据修正文件;
[0014] 将所述数据修正文件发送至证券登记结算服务器,以使所述证券登记结算服务器根据所述数据修正文件更新证券登记数据。
[0015] 一种证券登记数据核对装置,其特征在于,包括:
[0016] 文件下载模,用于从证券登记结算服务器上下载第一数据文件,所述第一数据文件包括各个证券账号对应的证券登记数据;
[0017] 文件获取模块,用于获取本地数据库中的第二数据文件,所述第二数据文件包括各个证券账号对应的待核对的证券交易数据;
[0018] 第一文件读取模块,用于以证券账号作为哈希表的key值,将所述第一数据文件读取至第一哈希表,所述第一哈希表存储于内存中;
[0019] 第二文件读取模块,用于以证券账号作为哈希表的key值,将所述第二数据文件读取至第二哈希表,所述第二哈希表存储于内存中;
[0020] 查询模块,用于针对所述第二哈希表中的每一个key值,在所述第一哈希表中查询出与所述key值对应的value值作为第一value值;
[0021] 对比模块,用于针对所述第二哈希表中的每一个key值,对比所述第一value值与第二value值,得到对比结果,所述第二value值是指在第二哈希表中所述key值对应的value值;
[0022] 修正数据写入模块,用于在得到所述第二哈希表中每一个key值的对比结果后,将对比结果为对比不一致的value值和key值写入数据修正文件;
[0023] 修正文件发送模块,用于将所述数据修正文件发送至证券登记结算服务器,以使所述证券登记结算服务器根据所述数据修正文件更新证券登记数据。
[0024] 一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述证券登记数据核对方法的步骤。
[0025] 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述证券登记数据核对方法的步骤。
[0026] 上述证券登记数据核对方法、装置、计算机设备及存储介质,首先,从证券登记结算服务器上下载第一数据文件,所述第一数据文件包括各个证券账号对应的证券登记数据;然后,获取本地数据库中的第二数据文件,所述第二数据文件包括各个证券账号对应的待核对的证券交易数据;接着,以证券账号作为哈希表的key值,将所述第一数据文件读取至第一哈希表,所述第一哈希表存储于内存中;以证券账号作为哈希表的key值,将所述第二数据文件读取至第二哈希表,所述第二哈希表存储于内存中;再之,针对所述第二哈希表中的每一个key值,在所述第一哈希表中查询出与所述key值对应的value值作为第一value值;针对所述第二哈希表中的每一个key值,对比所述第一value值与第二value值,得到对比结果,所述第二value值是指在第二哈希表中所述key值对应的value值;在得到所述第二哈希表中每一个key值的对比结果后,将对比结果为对比不一致的value值和key值写入数据修正文件;最后,将所述数据修正文件发送至证券登记结算服务器,以使所述证券登记结算服务器根据所述数据修正文件更新证券登记数据。可见,本发明由于在内存中通过哈希表进行数据查询,哈希表查询数据的方式比数据库查询方式的时间复杂度要低得多,且在内存中运行也比在传统磁盘中运行的速度快,因此减少了证券登记数据核对的时间复杂度,提高了数据核对的处理效率。附图说明
[0027] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0028] 图1是本发明一实施例中证券登记数据核对方法的一应用环境示意图;
[0029] 图2是本发明一实施例中证券登记数据核对方法的一流程图
[0030] 图3是本发明一实施例中证券登记数据核对方法步骤102在一个应用场景下的流程示意图;
[0031] 图4是本发明一实施例中证券登记数据核对方法在一个应用场景下在指定的时间段中执行核对指令的流程示意图;
[0032] 图5是本发明一实施例中证券登记数据核对方法步骤107在一个应用场景下的流程示意图;
[0033] 图6是本发明一实施例中证券登记数据核对方法在一个应用场下重点标注差异数据的流程示意图;
[0034] 图7是本发明一实施例中证券登记数据核对装置的结构示意图;
[0035] 图8是本发明一实施例中计算机设备的一示意图。

具体实施方式

[0036] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0037] 本申请提供的证券登记数据核对方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,该客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0038] 在一实施例中,如图2所示,提供一种证券登记数据核对方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
[0039] 101、从证券登记结算服务器上下载第一数据文件,所述第一数据文件包括各个证券账号对应的证券登记数据;
[0040] 本实施例中,证券交易公司日常会将证券交易数据更新到证券登记结算服务器上成为证券登记数据,因此,当需要核对数据时,服务器可以通过该证券登记结算服务器提供的接口下载到所需的证券登记数据。具体地,这些证券登记数据可以以dbf文件(即上述第一数据文件)的格式下载到本地的磁盘上,该dbf文件中包括各个证券账号各自对应的证券登记数据。
[0041] 需要说明的是,从证券登记结算服务器上下载下来的证券登记数据可以包括证券账号、开户人信息、交易信息等数据。
[0042] 102、获取本地数据库中的第二数据文件,所述第二数据文件包括各个证券账号对应的待核对的证券交易数据;
[0043] 可以理解的是,证券交易公司可以将本地的证券交易数据存储在本地数据库中,当需要核对数据时,服务器可以从本地数据库中获取到其中的待核对的证券交易数据,得到该第二数据文件。需要说明的是,该待核对的证券交易数据具体可以根据实际情况需要来确定,比如可以设定为将最近两天内的证券交易数据确定为待核对的证券交易数据。
[0044] 进一步地,如图3所示,步骤102具体可以包括:
[0045] 201、获取指定核对字段;
[0046] 202、从本地数据库中筛选出各个证券账号对应的、所述指定核对字段下的证券交易数据作为待核对的证券交易数据;
[0047] 203、导出所述待核对的证券交易数据,得到第二数据文件。
[0048] 对于上述步骤201,可以理解的是,当需要获取待核对的证券交易数据时,服务器可以先获取指定核对字段,这里所说的指定核对字段是指本地数据库中本次核对数据所要针对数据所属的字段。在本地数据库中,每个证券账号对应的证券交易数据是以字段的形式存储的,例如,一个证券账号下可以存储有“开户人姓名”、“开户人身份证号码”、“开户日期”等字段以及字段下的数据。在核对数据时,并非每次均需核对所有字段的数据,有些字段的数据可以无需核对的。因此,在获取证券交易数据之前,先确定出需要核对的字段,即该指定核对字段。
[0049] 对于上述步骤202,由上述可知,每个证券账号对应的证券交易数据分为多个字段下的数据,而在核对数据时,只需对指定核对字段下的数据进行核对即可。因此,服务器可以从本地数据库中筛选出各个证券账号对应的、所述指定核对字段下的证券交易数据作为待核对的证券交易数据。
[0050] 对于步骤203,在得到该待核对的证券交易数据之后,服务器可以导出这些待核对的证券交易数据,得到第二数据文件。具体地,该第二数据文件可以是dbf文件,服务器在导出该第二数据文件时,可以将其导出到本地磁盘中存储。
[0051] 103、以证券账号作为哈希表的key值,将所述第一数据文件读取至第一哈希表,所述第一哈希表存储于内存中;
[0052] 本实施例中,为了提高证券登记数据的查询效率,服务器会将第一数据文件读取至内存中,后续步骤将在内存中对第一数据文件内的证券登记数据进行处理。服务器会以证券账号作为哈希表的key值,在读取第一数据文件中证券登记数据的同时将这些证券登记数据转化为哈希表的形式,得到该第一哈希表。可知,该第一哈希表中各个key值为第一数据文件中的各个证券账号,value值则为第一数据文件中各个证券账号对应的证券登记数据。
[0053] 考虑到证券交易数据的核对工作通常来说并不紧急,为了节省服务器的运算资源,避免服务器在繁忙时段超负荷运行,为此,本实施例可以在指定的时间段中执行核对指令来完成证券交易数据的核对工作,比如可以设定在凌晨时间段服务器才处理证券交易数据的核对工作,这样可以利用服务器闲时的运算资源来完成核对任务,提高服务器资源的使用效率。进一步地,如图4所示,在步骤103之前,本方法还可以包括:
[0054] 301、接收指定客户端发起的核对指令;
[0055] 302、将所述核对指令写入预设的指令表中;
[0056] 303、当预设的指定时间到达时,逐条获取并执行所述指令表中的指令;
[0057] 304、当获取到所述核对指令时,执行所述步骤103。
[0058] 对于步骤301,在实际使用场景下,管理员可以使用指定客户端向服务器发起一个核对指令,从而服务器可以接收到该核对指令。
[0059] 优选地,还可以设定该指定客户端定时自动向服务器发起核对指令,比如每24小时或者每12小时自动生成一个核对指令,并发送给该服务器。这样可以由管理员通过在指定客户端上灵活设定核对指令的生成和发起规则,从而控制服务器执行证券交易数据核对工作的频率或时间。
[0060] 对于步骤302,服务器在接收到该核对指令后,需等待指定时间的到来,因此服务器先将所述核对指令写入预设的指令表中。其中,该预设的指令表中可以存储该核对指令,还可以存储有其它同样需要服务器等待处理的指令。服务器在执行指令时,可以从该指令表中逐条获取其内的指令并执行。
[0061] 对于步骤303,可以理解的是,可以预先设定指定时间,当该指定时间到达时,服务器开始逐条获取并执行所述指令表中的指令。例如,可以设定每天凌晨3点为该指定时间,当服务器的系统时间达到凌晨3点时,服务器从该指令表中逐条获取其中的指令并执行。
[0062] 对于步骤304,可知,执行步骤303后,当服务器获取到所述核对指令时,则可以执行所述步骤103。
[0063] 104、以证券账号作为哈希表的key值,将所述第二数据文件读取至第二哈希表,所述第二哈希表存储于内存中;
[0064] 本实施例中,与上述步骤103类似,为了提高证券交易数据的查询效率,服务器会将第二数据文件读取至内存中,后续步骤将在内存中对第二数据文件内的证券交易数据进行处理。服务器会以证券账号作为哈希表的key值,在读取第二数据文件中证券交易数据的同时将这些证券交易数据转化为哈希表的形式,得到该第二哈希表。可知,该第二哈希表中各个key值为第二数据文件中的各个证券账号,value值则为第二数据文件中各个证券账号对应的证券交易数据。
[0065] 优选地,上述步骤103和步骤104可以通过多线程的方式同时执行,当然,也可以先执行步骤103或者先执行步骤104,具体由实际应用场景决定,本实施例不做具体限定。
[0066] 105、针对所述第二哈希表中的每一个key值,在所述第一哈希表中查询出与所述key值对应的value值作为第一value值;
[0067] 本实施例中,在核对数据时,分别对第二哈希表中的各个证券账号对应的数据进行核对。因此,针对该第二哈希表中的每一个key值,服务器从第一哈希表中查询出与所述key值对应的value值作为第一value值。例如,假设第二哈希表中包括两个key值,分别为证券账号“134XX”和证券账号“135XX”,设第一哈希表中证券账号“134XX”对应的证券登记数据为“AAAAA”,证券账号“135XX”对应的证券登记数据为“BBBBB”。因此,服务器针对key值“134XX”,从第一哈希表中获取到value值“AAAAA”作为第一value值;另外,服务器针对key值“135XX”,从第一哈希表中获取到value值“BBBBB”作为另一个第一value值。
[0068] 106、针对所述第二哈希表中的每一个key值,对比所述第一value值与第二value值,得到对比结果,所述第二value值是指在第二哈希表中所述key值对应的value值;
[0069] 可以理解的是,每得到一个key值对应的第一value值之后,服务器可以对比该第一value值与第二value值,得到对比结果,其中,所述第二value值是指在第二哈希表中所述key值对应的value值。例如,承接上述举例,设证券账号“134XX”和证券账号“135XX”在第二哈希表中对应的证券交易数据分别为“AAAAA”和“BBBB”,这两个证券交易数据分别为证券账号“134XX”和证券账号“135XX”对应的第二value值。因此,在获取到第一value值“AAAAA”后,服务器可以将该第一value值“AAAAA”与第二value值“AAAAA”对比,得到对比结果;另一方面,在服务器获取到第一value值“BBBBB”后,服务器可以将该第一value值“BBBBB”与第二value值“BBBB”对比,得到对比结果。
[0070] 需要说明的是,具体对比时,可以采用正则表达式来对比两个value值是否一致。本实施例中,服务器可以设定第一哈希表和第二哈希表中每个value值的位数,例如可以设定为10位,则在对比两个value值时,可以采用正则表达式从第一位开始逐位比对,若第一位对比相同,则进行第二位的对比,依次类推,10位中任意一位对比不同,则两个value值的对比结果为对比不一致;反之,若两个value值10位均对比相同,则两个value值的对比结果为对比一致。
[0071] 107、在得到所述第二哈希表中每一个key值的对比结果后,将对比结果为对比不一致的value值和key值写入数据修正文件;
[0072] 本实施例中,在执行步骤106对第二哈希表中每一个key值分别进行处理后,服务器可以得到该第二哈希表中每一个key值的对比结果。当服务器得到所有key值的对比结果之后,可以将其中对比结果为对比不一致的value值和key值写入数据修正文件。可以理解的是,本方法是为了核对出证券登记数据中哪些数据与证券交易数据不一致,以便于找出其中不一致的数据,以便对证券登记结算服务器上的数据进行修正。因此,步骤107仅需将对比不一致的value值和key值写入到数据修正文件中即可。举例说明,承接上述例子,该第一value值“AAAAA”与第二value值“AAAAA”对比得到的对比结果为对比一致,而第一value值“BBBBB”与第二value值“BBBB”对比得到的对比结果为对比不一致。因此,服务器可以将第一value值“BBBBB”、第二value值“BBBB”以及两者对应的key值“135XX”写入到数据修正文件。
[0073] 优选地,为了便于证券登记结算服务器接收和处理该数据修正文件,该数据修正文件具体可以为dbf文件。
[0074] 上述步骤107在将对比不一致的value值写入数据修正文件中时,具体可以是仅将对比不一致的第二value值写入到数据修正文件,无需将第一value值写入。这是因为,证券登记结算服务器是根据第二value值,也即本地服务器上的证券交易数据去修正证券登记数据的,因此得到第二value值即可完成修正工作。当然,服务器也可以将对比不一致的第一value值、第二value值均写入到数据修正文件,以便于证券登记结算服务器一方的管理人员审核该数据修正文件,也即便于该管理人员核对数据修正文件中指出的要修正、更新的证券登记数据是否确有错误。为此,本实施例中,如图5所示,进一步地,所述步骤107具体可以包括:
[0075] 401、获取对比结果为对比不一致的key值在第一哈希表中对应的value值,作为第三value值;
[0076] 402、获取对比结果为对比不一致的key值在第二哈希表中对应的value值,作为第四value值;
[0077] 403、将对比结果为对比不一致的key值、所述第三value值和所述第四value值写入数据修正文件。
[0078] 对于上述步骤401,可以理解的是,服务器可以获取对比结果为对比不一致的key值在第一哈希表中对应的value值,作为第三value值,承接上述举例,即获取value值“BBBBB”作为第三value值。
[0079] 对于上述步骤402,可以理解的是,服务器可以获取对比结果为对比不一致的key值在第二哈希表中对应的value值,作为第四value值,承接上述举例,即获取value值“BBBB”作为第四value值。
[0080] 对于上述步骤403,可知,在得到第三value值和第四value值之后,服务器可以将对比结果为对比不一致的key值、所述第三value值和所述第四value值写入数据修正文件。承接上述举例,即,服务器将第三value值“BBBBB”、第四value值“BBBB”和key值“135XX”写入到数据修正文件中作为一条待更新的证券账号“135XX”对应的数据。
[0081] 进一步地,为便于证券登记结算服务器一方的管理人员审核该数据修正文件上的数据,本方案还可以将key值相同的两个value值之间对比差异的部分内容重点标注出来,这样该管理人员可以快速核对其中的差异部分,有利于提高审核的效率。为此,如图6所示,本方法还可以包括:
[0082] 501、获取所述第三value值与所述第四value值之间对比不一致的差异数据;
[0083] 502、在将所述第三value值和所述第四value值写入数据修正文件之后,在所述数据修正文件中重点标注所述第三value值和/或所述第四value值上的所述差异数据。
[0084] 对于上述步骤501,可以理解的是,由于该第三value值与第四value值在上述步骤106中已对比,因此服务器容易得到两者之间对比不一致的差异数据。承接上述举例,第三value值“BBBBB”与第四value值“BBBB”之间的差异数据即为“BBBBB”中的第五个“B”数据。
为便于理解,在某个具体应用场景下,设第三value值为“BBCBB”,第四value值为“BBBDB”,则这两个value值之间的差异数据为“BBCBB”中第三个“C”数据和第四个“B”数据,以及“BBBDB”中第三个“B”数据和第四个“D”数据。
[0085] 对于步骤502,服务器在所述第三value值和所述第四value值写入数据修正文件之后,可以在所述数据修正文件中重点标注所述第三value值和/或所述第四value值上的所述差异数据。比如,承接上述步骤501的举例,当第三value值为“BBBBB”和第四value值为“BBBB”时,重点标注“BBBBB”中的第五个“B”数据;当第三value值为“BBCBB”和第四value值为“BBBDB”时,重点标注“BBCBB”中第三个“C”数据和第四个“B”数据,以及重点标注“BBBDB”中第三个“B”数据和第四个“D”数据。
[0086] 108、将所述数据修正文件发送至证券登记结算服务器,以使所述证券登记结算服务器根据所述数据修正文件更新证券登记数据。
[0087] 本实施例中,服务器在得到该数据修正文件之后,可以将所述数据修正文件发送至证券登记结算服务器,以使所述证券登记结算服务器根据所述数据修正文件更新证券登记数据。其中,证券登记结算服务器主要是根据该数据修正文件中记载的key值对应的第二value值去修正该证券登记结算服务器上的第一value值,也即通过证券交易数据修正证券登记数据,以保证该证券登记结算服务器上的证券登记数据与证券交易公司本地数据库中的证券交易数据一致。
[0088] 本发明实施例中,首先,从证券登记结算服务器上下载第一数据文件,所述第一数据文件包括各个证券账号对应的证券登记数据;然后,获取本地数据库中的第二数据文件,所述第二数据文件包括各个证券账号对应的待核对的证券交易数据;接着,以证券账号作为哈希表的key值,将所述第一数据文件读取至第一哈希表,所述第一哈希表存储于内存中;以证券账号作为哈希表的key值,将所述第二数据文件读取至第二哈希表,所述第二哈希表存储于内存中;再之,针对所述第二哈希表中的每一个key值,在所述第一哈希表中查询出与所述key值对应的value值作为第一value值;针对所述第二哈希表中的每一个key值,对比所述第一value值与第二value值,得到对比结果,所述第二value值是指在第二哈希表中所述key值对应的value值;在得到所述第二哈希表中每一个key值的对比结果后,将对比结果为对比不一致的value值和key值写入数据修正文件;最后,将所述数据修正文件发送至证券登记结算服务器,以使所述证券登记结算服务器根据所述数据修正文件更新证券登记数据。可见,本发明由于在内存中通过哈希表进行数据查询,哈希表查询数据的方式比数据库查询方式的时间复杂度要低得多,且在内存中运行也比在传统磁盘中运行的速度快,因此减少了证券登记数据核对的时间复杂度,提高了数据核对的处理效率。
[0089] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0090] 在一实施例中,提供一种证券登记数据核对装置,该证券登记数据核对装置与上述实施例中证券登记数据核对方法一一对应。如图7所示,该证券登记数据核对装置包括文件下载模块601、文件获取模块602、第一文件读取模块603、第二文件读取模块604、查询模块605、对比模块606、修正数据写入模块607和修正文件发送模块608。各功能模块详细说明如下:
[0091] 文件下载模块601,用于从证券登记结算服务器上下载第一数据文件,所述第一数据文件包括各个证券账号对应的证券登记数据;
[0092] 文件获取模块602,用于获取本地数据库中的第二数据文件,所述第二数据文件包括各个证券账号对应的待核对的证券交易数据;
[0093] 第一文件读取模块603,用于以证券账号作为哈希表的key值,将所述第一数据文件读取至第一哈希表,所述第一哈希表存储于内存中;
[0094] 第二文件读取模块604,用于以证券账号作为哈希表的key值,将所述第二数据文件读取至第二哈希表,所述第二哈希表存储于内存中;
[0095] 查询模块605,用于针对所述第二哈希表中的每一个key值,在所述第一哈希表中查询出与所述key值对应的value值作为第一value值;
[0096] 对比模块606,用于针对所述第二哈希表中的每一个key值,对比所述第一value值与第二value值,得到对比结果,所述第二value值是指在第二哈希表中所述key值对应的value值;
[0097] 修正数据写入模块607,用于在得到所述第二哈希表中每一个key值的对比结果后,将对比结果为对比不一致的value值和key值写入数据修正文件;
[0098] 修正文件发送模块608,用于将所述数据修正文件发送至证券登记结算服务器,以使所述证券登记结算服务器根据所述数据修正文件更新证券登记数据。
[0099] 进一步地,所述证券登记数据核对装置还可以包括:
[0100] 核对指令接收模块,用于接收指定客户端发起的核对指令;
[0101] 核对指令写入模块,用于将所述核对指令写入预设的指令表中;
[0102] 指令获取模块,用于当预设的指定时间到达时,逐条获取并执行所述指令表中的指令;
[0103] 触发模块,用于当获取到所述核对指令时,触发所述第一文件读取模块。
[0104] 进一步地,所述文件获取模块可以包括:
[0105] 核对字段获取单元,用于获取指定核对字段;
[0106] 交易数据筛选单元,用于从本地数据库中筛选出各个证券账号对应的、所述指定核对字段下的证券交易数据作为待核对的证券交易数据;
[0107] 交易数据导出单元,用于导出所述待核对的证券交易数据,得到第二数据文件。
[0108] 进一步地,所述修正数据写入模块可以包括:
[0109] 第一差异值获取单元,用于获取对比结果为对比不一致的key值在第一哈希表中对应的value值,作为第三value值;
[0110] 第二差异值获取单元,用于获取对比结果为对比不一致的key值在第二哈希表中对应的value值,作为第四value值;
[0111] 差异值写入单元,用于将对比结果为对比不一致的key值、所述第三value值和所述第四value值写入数据修正文件。
[0112] 进一步地,所述证券登记数据核对装置还可以包括:
[0113] 差异数据获取模块,用于获取所述第三value值与所述第四value值之间对比不一致的差异数据;
[0114] 重点标注模块,用于在将所述第三value值和所述第四value值写入数据修正文件之后,在所述数据修正文件中重点标注所述第三value值和/或所述第四value值上的所述差异数据。
[0115] 关于证券登记数据核对装置的具体限定可以参见上文中对于证券登记数据核对方法的限定,在此不再赘述。上述证券登记数据核对装置中的各个模块可全部或部分通过软件硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0116] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储证券登记数据核对方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种证券登记数据核对方法。
[0117] 在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中证券登记数据核对方法的步骤,例如图2所示的步骤101至步骤108。或者,处理器执行计算机程序时实现上述实施例中证券登记数据核对装置的各模块/单元的功能,例如图7所示模块601至模块608的功能。为避免重复,这里不再赘述。
[0118] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中证券登记数据核对方法的步骤,例如图2所示的步骤101至步骤108。或者,计算机程序被处理器执行时实现上述实施例中证券登记数据核对装置的各模块/单元的功能,例如图7所示模块601至模块608的功能。为避免重复,这里不再赘述。
[0119] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0120] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0121] 以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈