CN106991606A - 交易数据处理方法及装置 - Google Patents
交易数据处理方法及装置 Download PDFInfo
- Publication number
- CN106991606A CN106991606A CN201710197865.5A CN201710197865A CN106991606A CN 106991606 A CN106991606 A CN 106991606A CN 201710197865 A CN201710197865 A CN 201710197865A CN 106991606 A CN106991606 A CN 106991606A
- Authority
- CN
- China
- Prior art keywords
- data
- transaction
- processing method
- clearance
- data processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开是关于一种交易数据处理方法及装置。该方法包括:在交易过程中通过第一表记录并处理与交易业务相关的数据;在清算过程中通过第二表记录并处理与清算业务相关的数据;以及在入账时根据第二表与第一表的关联关系将第二表中的数据同步到第一表中。本公开能够实现7×24小时不间断交易,并且提高了清算处理效率。
Description
技术领域
本公开涉及数据处理技术领域,具体而言,涉及一种交易数据处理方法及交易数据处理装置。
背景技术
随着理财产品交易业务互联网化的演进,越来越多的理财产品交易系统需要能够支持实时收单和交易数据清算同时并行,因此,对7×24小时不间断交易的需求与日俱增。
交易系统是一个需要支持实时交易同时还需要对上一个交易日的数据进行清算的业务处理系统,因此目前实现交易业务处理系统的技术方案中一般将交易业务分为日间交易和夜间交易两种类型。在日间交易时通过正式表记录实时交易业务数据;在夜间交易时通过临时表记录实时交易业务数据,并通过正式表进行清算处理,在每个交易日中,当从夜间交易切换到日间交易时,需要将临时表中的数据同步到正式表中,而在同步的过程中需要暂停交易。
由于在日间交易和夜间交易切换过程中会存在短暂的暂停交易的时间,因此该技术方案在需要同时处理实时交易和清算的前提下是一个准7×24小时的方案,无法实现真正的7×24小时不间断交易处理。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种交易数据处理方法及交易数据处理装置,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本公开的一个方面,提供了一种交易数据处理方法,包括:
在交易过程中通过第一表记录并处理与交易业务相关的数据;
在清算过程中通过第二表记录并处理与清算业务相关的数据;以及
在入账时根据所述第二表与所述第一表的关联关系将所述第二表中的数据同步到所述第一表中。
在本公开的一种示例性实施例中,将所述第二表中的数据同步到所述第一表中包括:
通过小事务提交的方式将所述第二表中的数据同步到所述第一表中,所述小事务为每次提交的数据量小于预定数据量的事务。
在本公开的一种示例性实施例中,所述预定数据量为根据数据处理装置的性能确定的数据量。
在本公开的一种示例性实施例中,所述交易数据处理方法还包括:
在同一所述小事务中将所述第二表中的数据同步到所述第一表的过程中,删除所述第二表中同步到所述第一表中的数据,或者
在通过多个所述小事务将所述第二表中的数据同步到所述第一表的过程中,删除所述第二表中同步到所述第一表中的数据。
在本公开的一种示例性实施例中,所述交易数据处理方法还包括:
在入账之前判断是否需要对所述第二表中的数据进行重新清算;
在判定需要进行重新清算时,删除所述第二表中的清算相关数据;
根据与所述交易业务相关的数据进行重复清算,并记录在所述第二表中。
在本公开的一种示例性实施例中,所述第二表的字段包括能够与所述第一表建立关联关系的关联字段,以及在清算过程中所述第一表中发生变化的字段。
在本公开的一种示例性实施例中,所述交易数据处理方法还包括:
接收数据查询请求;
根据所述数据查询请求在所述第一表和所述第二表中查找对应的数据;
将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并。
在本公开的一种示例性实施例中,基于前述方案,根据所述数据查询请求在所述第一表和所述第二表中查找对应的数据包括:根据所述查询请求中包含的字段类型在所述第一表和所述第二表中查找与所述字段类型对应的数据;将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并包括:通过与所述字段类型对应的操作将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并。
在本公开的一种示例性实施例中,所述字段类型对应的操作包括累加操作和覆盖操作。
根据本公开的另一个方面,提供一种交易数据处理装置,包括:
交易处理单元,用于在交易过程中通过第一表记录并处理与交易业务相关的数据;
清算处理单元,用于在清算过程中通过第二表记录并处理与清算业务相关的数据;以及
入账处理单元,用于在入账时根据所述第二表与所述第一表的关联关系将所述第二表中的数据同步到所述第一表中。
在本公开的一种示例性实施例中,入账处理单元配置为:通过小事务提交的方式将所述第二表中的数据同步到所述第一表中,所述小事务为每次提交的数据量小于预定数据量的事务。
在本公开的一种示例性实施例中,所述预定数据量为根据数据处理装置的性能确定的数据量。
在本公开的一种示例性实施例中,所述交易数据处理装置还包括:删除单元,用于在同一所述小事务中将所述第二表中的数据同步到所述第一表的过程中,删除所述第二表中同步到所述第一表中的数据,或者在通过多个所述小事务将所述第二表中的数据同步到所述第一表的过程中,删除所述第二表中同步到所述第一表中的数据。
在本公开的一种示例性实施例中,所述交易数据处理装置还包括:重复清算单元,用于在入账之前判断是否需要对所述第二表中的数据进行重新清算;在判定需要进行重新清算时,删除所述第二表中的清算相关数据;根据与所述交易业务相关的数据进行重复清算,并记录在所述第二表中。
在本公开的一种示例性实施例中,所述第二表的字段包括能够与所述第一表建立关联关系的关联字段,以及在清算过程中所述第一表中发生变化的字段。
在本公开的一种示例性实施例中,所述交易数据处理装置还包括:查询单元,用于接收数据查询请求;根据所述数据查询请求在所述第一表和所述第二表中查找对应的数据;将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并。
在本公开的一种示例性实施例中,根据所述数据查询请求在所述第一表和所述第二表中查找对应的数据包括:根据所述查询请求中包含的字段类型在所述第一表和所述第二表中查找与所述字段类型对应的数据;将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并包括:通过与所述字段类型对应的操作将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并。
在本公开的一种示例性实施例中,所述字段类型对应的操作包括累加操作和覆盖操作。
根据本示例实施例中的交易数据处理方法及装置,一方面,在交易过程中通过第一表记录并处理与交易业务相关的数据,能够将交易业务数据保持在第一表中,将清算业务与交易业务分离,使得各业务模块具有高内聚、低耦合的特性,从而使交易系统易于拓展和维护;另一方面,在清算过程中通过第二表记录并处理与清算业务相关的数据,能够将清算业务数据保持在第二表中,在清算时不需要对第一表中记录的数据进行备份,不仅提高了清算处理效率而且便于重复清算;再一方面,在入账时根据所述第二表与所述第一表的关联关系,通过小事务提交的方式将所述第二表中的数据同步到所述第一表中,能够在不暂停交易的情况下实现数据同步,从而能够实现7×24小时不间断交易。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
通过参照附图来详细描述其示例实施例,本公开的上述和其它特征及优点将变得更加明显。
图1示意性示出了一种技术方案中采用区分日间交易和夜间交易的交易处理方法的处理流程图;
图2示意性示出了根据本公开一示例性实施例的交易数据处理方法的流程图;
图3示意性示出了根据本公开一示例性实施例的交易数据处理系统的框图;以及
图4示意性示出了根据本公开一示例性实施例的交易数据处理装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在一种技术方案中,采用了区分日间交易和夜间交易的准7×24小时的交易数据处理方法。参照图1所示,该交易数据处理方法为了将日间交易和夜间交易分开,设计了两套与交易业务相关的表,一套为正式表,一套为临时表,在日间交易时通过正式表和临时表记录实时交易业务,保持两张表中的数据一致,在夜间交易时通过临时表记录实时交易业务数据,通过正式表进行清算处理。
在该技术方案中,在夜间交易进行清算时,为了支持清算数据重复清算即支持恢复重新清算(例如,当外围系统提供的交易系统清算数据文件有误或者系统自身处理出现错误时需要回滚已经处理过的数据并且重新导入清算数据文件,该过程可以称之为恢复重新清算),在清算之前需要先将数据进行备份,在清算时使用正式表来进行清算,但由于交易是实时进行的,所以在清算期间,通过临时表记录实时交易业务数据,即在清算期间,实时交易业务数据是记录在临时表中,清算处理对正式表进行更新,对正式表进行备份。因此,需要重复清算时,将正式表恢复到清算前状态不会影响实时交易的数据。
按照这样的设计,夜间交易的实时交易数据记录在临时表中,清算的数据记录在正式表中,日间交易的数据在正式表和临时表同时记录。在夜间交易切换到日间交易时,交易系统需要将临时表的交易数据进行恢复处理,即将临时表中的交易数据逐笔恢复到正式表中,以保证正式表数据的完整性,所有的业务数据都需要在正式表中保存。在该恢复处理的过程中,会将交易暂停,以保证没有新的交易数据进来,否则会产生需要不断地恢复的问题。
上述设计虽然可以解决交易和清算同时操作一张表而带来的交易等待的问题,但是在将临时表中的数据恢复到正式表中时,会出现交易暂停的情况,不能彻底实现7×24小时不间断交易。此外,在该技术方案中,为了支持清算数据重复清算,在清算之前需要先对正式表中的数据进行备份,降低了清算处理的效率。
因此,为了消除将临时表中的交易数据恢复到正式表中时出现停止交易的影响,必须避免这种恢复机制。所以可以考虑始终使用一套表来记录交易数据。但是由于在清算过程中需要支持恢复重新清算的情况,而且仅采用一套表的话在实时交易需要更新或者插入数据时,数据库表会产生行级锁导致处理时间变长。清算处理时如果也操作同一套表,清算时大事务提交的方式会导致在清算过程中,实时交易出现大批量的等待锁释放而超时的情况,导致实时交易出现故障。所以需要在将交易数据始终保持在一个表的情况下,将清算数据保持在另外一套表中。
基于上述内容,在本示例实施例中,首先提供了一种交易数据处理方法。参考图2中所示,该交易数据处理方法可以包括以下步骤:
S210.在交易过程中通过第一表记录并处理与交易业务相关的数据;
S220.在清算过程中通过第二表记录并处理与清算业务相关的数据;以及
S230.在入账时根据所述第二表与所述第一表的关联关系将所述第二表中的数据同步到所述第一表中。
根据本示例实施例中的交易数据处理方法,一方面,在交易过程中通过第一表记录并处理与交易业务相关的数据,能够将交易业务数据保持在第一表中,将清算业务与交易业务分离,使得各业务模块具有高内聚、低耦合的特性,从而使交易系统易于拓展和维护;另一方面,在清算过程中通过第二表记录并处理与清算业务相关的数据,能够将清算业务数据保持在第二表中,在清算时不需要对第一表中记录的数据进行备份,不仅提高了清算处理效率而且便于重复清算;再一方面,在入账时根据所述第二表与所述第一表的关联关系,通过小事务提交的方式将所述第二表中的数据同步到所述第一表中,能够在不暂停交易的情况下实现数据同步,从而能够实现7×24小时不间断交易。
下面,将对本示例实施例中的交易数据处理方法进行进一步的说明。
在步骤S210中,在交易过程中通过第一表记录并处理与交易业务相关的数据。
在本示例实施例中,第一表为在数据库中设计的记录并处理与交易相关的数据的表,第一表还可以被称为正式表。参照图3所示,通过将实时交易业务相关的数据始终记录在第一表中,可以将交易业务与清算业务分离,使各业务模块具有高内聚、低耦合的特性,从而使交易系统易于拓展和维护。在本示例实施例中,数据库可以为Oracle数据库、MySQL数据库或者SQL Server数据库等数据库。
接下来,在步骤S220中,在清算过程中通过第二表记录并处理与清算业务相关的数据。
在本示例实施例中,第二表为在数据库中设计的记录并处理与清算业务相关的数据的表,第二表还可以被称为清算表。在本示例实施例中,参照图3所示,在清算过程中所有的清算相关数据的插入更新删除,全部在清算表中进行,这样对于正在进行的实时交易不会产生影响。而且,由于清算业务与交易业务分离,在清算时不需要对第一表中的交易数据进行备份,不仅提高了清算处理效率,而且便于重复清算。
进一步地,在本示例实施例中,第二表的字段可以包括能够与所述第一表建立关联关系的关联字段,以及在清算过程中所述第一表中发生变化的字段。例如,在第一表为静态份额表,第二表为静态份额清算表的情况下,静态份额清算表可以包括由静态份额表在清算过程中会发生变化的总份额、交易冻结份额、冻结份额、分红方式这4个字段,以及能够将静态份额清算表和静态份额表关联起来的交易账号、基金代码、份额类别等字段。因此,可以通过交易账户字段、基金代码字段、份额类别字段查询到静态份额清算表和静态份额表中的相同记录。
接下来,在步骤S230中,在入账时根据所述第二表与所述第一表的关联关系将所述第二表中的数据同步到所述第一表中。
在本示例实施例中,参照图3所示,由于交易业务中会使用到清算表中的清算相关数据,从而需要在入账时将第二表中记录的与清算业务相关的数据同步到正式表中。为了在同步数据时不影响实时交易,在本示例实施例中,可以通过小事务提交的方式将所述第二表中的数据同步到所述第一表中,小事务为每次提交的数据量小于预定数据量的事务,预定数据量为根据数据处理装置例如交易系统的数据库服务器的性能确定的数据量例如500条记录。在本示例实施例中,可以将与清算业务相关的数据同步到正式表的过程放在交易系统较空闲的时间段例如凌晨1点至4点。
具体而言,在入账过程中,可能需要处理上百万的数据,所以不能等到所有数据全部处理完成之后将所有数据作为一个大事务提交,否则整个事务的处理时间有可能过长例如达几十分钟,这样同样会造成数据库出现行级锁,行级锁会导致处理时间变得更长。因此,在本示例实施例中,可以通过小事务提交的方式将清算表的数据根据清算表与正式表的关联关系往正式表中更新或者插入,例如小事务方式可以为每500条记录提交一次(可以默认为500条,但也可以根据需要来设置记录的条数)。根据数据库服务器的性能来评估这样的小事务的处理一般在毫秒到秒级别,因此每500条记录的处理时间是极短的,行级锁的产生可能在毫秒级别,对于实时交易的影响非常小(只有自动入账时该500条记录开始处理到该事务提交之前,在与这500条数据有关的投资人正好在进行交易时可能产生行级锁,但是由于是在空闲的交易时间段内来进行入账,所以可以将行级锁发生的情况视为小概率事件)。
需要说明的是,在本示例实施例中,可以在同一个事务中将所述第二表中的数据同步到所述第一表的过程中,删除第二表中同步到第一表中的记录,从而可以在同一个事务中完成更新(或者插入)正式表与清空清算表的处理。这样每个事务的执行时间很短,而且入账任务发起的时间点设定为凌晨1点之后到5点之前系统自动触发,从而可以将对实时交易的影响降到最低。此外,还可以在通过多个所述小事务将所述第二表中的数据同步到所述第一表的过程中,删除所述第二表中同步到所述第一表中的数据,这同样在本公开的保护范围内。因此,在入账过程结束之后,所有的结果都保存在正式表中,清算表数据为空,到下次清算之后才会在清算表中重新产生数据,所以清算表可以仅保存一天的清算结果。
进一步地,参照图3所示,在交易系统中,有时会需要进行重复清算,例如,外围系统提供的清算数据文件有误或者系统本身处理完成之后自检发现有问题,这些场景发生时都需要回滚清算数据到清算处理前的状态,在收到正确的清算数据文件或者修复了系统自身的问题之后进行再次清算。因此,在本示例实施中,所述交易数据处理方法还包括:在入账之前判断是否需要对所述第二表中的数据进行重新清算;在判定需要进行重新清算时,删除所述第二表中的清算相关数据;根据与所述交易业务相关的数据进行重复清算,并记录在所述第二表中。
需要说明的是,在本示例实施中,判断是否需要对第二表中的数据进行重新清算可以包括:对第二表中的数据进行检测,在检测到第二表中的数据有误时判定需要进行重新清算。此外,判断是否需要对第二表中的数据进行重新清算还可以包括:在数据提供方告知其提供的数据有误时,即使未检测到第二表中的数据有误也判定需要进行重新清算。在重复清算之后还需要到重复清算后的数据进行检测,在检测到重复清算后的数据没有问题时才进行入账。
在现有的准7×24小时的交易数据处理技术方案中,如果需要恢复到清算处理前状态,需要在清算处理之前对正式表中的数据进行备份,根据备份的正式表进行重复清算。将处理之前的数据情况通过物理备份的方式(通过数据库例如Oracle数据库自带的工具,导出需要备份的表以dmp文件的形式保存在存储介质上)备份下来。当发现错误需要恢复重新清算时,需要将需要恢复的表删除,然后根据物理备份恢复重新清算。这样的恢复方式的问题是,备份表数据量会累积的越来越多,数据量越多,恢复越慢,恢复重新清算花费的时间越长。
与现有技术相比而言,在本示例实施例中,由于清算时所有的清算结果全部保存在清算表中且每隔一定的时间周期会做入账,入账之后所有的清算结果就全部更新到正式表中了并且将清算表清空,这样就保证了清算表中只保存一次清算的结果,所以在重复清算时,系统只需要将清算表中的一个时间周期内清算出来的相关数据删除即可,完全不影响正式表中的数据,不需要依赖数据备份来恢复。因此,本示例实施例不仅不需要对数据进行备份,而且可以通过删除清算表中的数据并重新清算来简单快速地实现重复清算的功能。
需要说明的是,上述的时间周期设定的越长,一个周期内需要清算的数据可能越多,这样在进行重复清算时花费的时间也就越多,因此在应用时可以根据实际需求进行设定,在本发明的示例性实施例中,可以以一天作为一个时间周期,即每天都会进行入账操作。
进一步地,在本示例实施例中,当交易时需要查询清算之后的结果时,由于交易表和清算表是分开记录数据,所以查询时需要将两部分的数据进行合并查询。因此,该交易数据处理方法还可以包括:接收数据查询请求;根据所述数据查询请求在所述第一表和所述第二表中查找对应的数据;将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并。在本示例实施例中,可以通过视图的方式进行合并查询,也可以通过SQL语句进行查询,本公开对此不进行特殊限定。
进一步地,在本示例实施例中,根据所述数据查询请求在所述第一表和所述第二表中查找对应的数据可以包括:根据所述查询请求中包含的字段类型在所述第一表和所述第二表中查找与所述字段类型对应的数据;将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并可以包括:通过与所述字段类型对应的操作将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并。
举例而言,在本示例实施例中,交易处理、清算处理对于静态信息表的字段的修改概括起来涉及到两类操作,一类是累加操作,一类是覆盖操作。因此,可以预先对静态信息表的字段进行分类,预先将静态信息表的字段分为累加类和覆盖类。对于累加类的字段,比如静态份额表的总份额等,需要将正式表和清算表的数据做一个累加才能得到正确的处理之后的结果。类似这样的累加类字段例如静态份额表的总份额,用正式表的字段+nvl(清算表的字段,0)来返回视图中的查询结果;对于覆盖类的字段,比如静态份额表的分红方式等,这类字段可以以处理之后的结果为最终结果,所以这类覆盖类字段需要优先取清算表中的数据,清算表的数据为空时才取正式表的字段,用nvl(清算表的字段,正式表的字段)来返回视图中的查询结果。
下面,结合一个具体实施例来描述本示例实施例中的交易数据处理方法,在该示例实施例中,第一表为静态份额表即正式表,第二表为静态份额清算表即清算表,静态份额表的字段可以包括:总份额、交易冻结份额、冻结份额、分红方式等字段。静态份额清算表的字段可以包括静态份额表在清算过程中会发生变化的总份额、交易冻结份额、冻结份额、分红方式字段,以及能够将静态份额清算表与静态份额表关联起来的交易账号、基金代码、份额类别等字段。在实时交易过程中仅操作静态份额表不操作清算表;清算过程中仅操作静态份额清算表不操作静态份额表;查询时以试图的方式查询数据。
首先,对该示例实施例中的术语进行说明。在该示例实施例中,赎回申请表示:静态份额表的en_requestshare字段原值加上申请金额;申购确认处理表示:修改(没有则新插入一条)确认日期是当天的静态份额清算表数据,en_totalshare字段原值加上确认份额;赎回确认处理表示:修改(没有则新插入一条)确认日期是当天的静态份额清算表数据,en_totalshare字段原值减去确认份额,en_requestshare字段原值减去申请金额;修改分红方式确认表示:修改(没有则新插入一条)确认日期是当天的静态份额清算表数据,c_dividendmethod字段为投资人确认的分红方式;在该示例实施例中,对于静态份额表,可以通过下述方式建立视图进行查询:
其中:vc_tradeacco为交易账号,vc_fundcode为基金代码,c_sharetype为份额类别,en_totalshare为总份额,en_requestshare为交易冻结份额,c_dividendmethod为分红方式,a为静态份额表,b为静态份额清算表,en_totalshare字段和en_requestshare字段为累加型字段,c_dividendmethod字段为覆盖类字段。
接下来,将对该示例实施例进行详细的说明。假设投资人目前有100000的份额,分红方式为红利再投;
(1)T日发起申请1(申购10000)时,静态份额表不变化,静态份额清算表不变化。
(2)T日接着发起申请2(申购30000)时,静态份额表、静态份额清算表不变化。
(3)T日接着发起申请3(赎回10000)时,静态份额表修改交易冻结份额en_requestshare为10000,静态份额清算表不变化。
投资人的静态份额信息可以通过查询静态份额视图得到,总份额en_totalshare为100000,交易冻结份额en_requestshare是10000,分红方式是“0”。
(4)T日接着发起一笔申请4(修改分红方式为现金红利)时,静态份额表、静态份额清算表不变化。
(5)T+1日申请1确认,静态份额表不变化,静态份额清算表新插入一条记录:总份额en_totalshare为10000。
此时如果投资人进行查询,则通过的静态份额视图查询出的总份额en_totalshare为110000,交易冻结份额en_requestshare为10000。
(6)T+1日申请2确认,静态份额表不变化,静态份额清算表总份额增加30000,为40000。
此时如果投资人进行查询,则通过静态份额视图查询出的总份额en_totalshare为140000,交易冻结份分额en_requestshare为10000。
(7)T+1日申请3确认,静态份额表不变化,静态份额清算表总份额en_totalshare减去10000,为30000,冻结份额en_requestshare减去10000,为-10000。
投资人的静态份额信息可以通过查询静态份额视图得到,总份额en_totalshare为130000,交易冻结份额en_requestshare是0,分红方式是“0”。
(8)T+1日申请4确认,静态份额表不变化,静态份额_liq表c_dividendmethod修改为现金红利“1”。
投资人的静态份额信息可以通过查询静态份额视图得到,总份额en_totalshare为130000,交易冻结分额en_requestshare是0,分红方式是“1”(现金红利)。
(9)T+1清算完成后,管理人员发现数据有问题,会重新下发确认数据。交易系统恢复数据时会删去静态份额清算表中的记录。
投资人的静态份额信息可以通过查询静态份额视图得到,总份额en_totalshare为100000,交易冻结份额en_requestshare是10000,分红方式是“0”;这样就可以将静态份额视图的查询结果直接恢复到清算之前的状态。
(10)T+2日凌晨,系统不能再恢复T+1的确认数据处理,开始日终入账数据(这个是后台完成的,由于是在系统空闲时段进行的,对于系统运行以及业务连续性影响很小,可以不计入清算耗时)。
日终入账完成之后,静态份额表的数据为总份额en_totalshare为130000,交易冻结分额en_requestshare是0,分红方式是“1”(现金红利),与(8)处理完成之后静态份额视图查询出的结果一致。静态份额清算表的数据清空。
在该示例实施例中,通过静态份额表记录并处理交易相关数据,通过静态份额清算表记录并处理清算相关数据,在需要重新清算时,删除静态份额清算表中的数据并进行重复清算就可以了,不需要进行数据备份,在入账时将静态份额清算表中的数据同步到静态份额表中,同时可以将静态份额清算表中同步到静态份额表中的数据删除。
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
此外,在本示例实施例中,还提供了一种交易数据处理装置。参照图4所示,该交易数据处理装置400可以包括:交易处理单元410、清算处理单元420以及入账处理单元430。其中:
交易处理单元410用于在交易过程中通过第一表记录并处理与交易业务相关的数据;
清算处理单元420用于在清算过程中通过第二表记录并处理与清算业务相关的数据;以及
入账处理单元430用于在入账时根据所述第二表与所述第一表的关联关系将所述第二表中的数据同步到所述第一表中。
进一步地,在本示例实施例中,入账处理单元430配置为:通过小事务提交的方式将所述第二表中的数据同步到所述第一表中,所述小事务为每次提交的数据量小于预定数据量的事务。
具体而言,在本示例实施例中,所述预定数据量可以为根据数据处理装置的性能确定的数据量。
此外,在本示例实施例中,所述交易数据处理装置还可以包括:删除单元,用于在同一所述小事务中将所述第二表中的数据同步到所述第一表的过程中,删除所述第二表中同步到所述第一表中的数据,或者在通过多个所述小事务将所述第二表中的数据同步到所述第一表的过程中,删除所述第二表中同步到所述第一表中的数据。
进一步地,在本示例实施例中,所述交易数据处理装置还可以包括:重复清算单元,用于在入账之前判断是否需要对所述第二表中的数据进行重新清算;在判定需要进行重新清算时,删除所述第二表中的清算相关数据;根据与所述交易业务相关的数据进行重复清算,并记录在所述第二表中。
需要说明的是,在本示例实施例中,所述第二表的字段可以包括在清算过程中所述第一表中发生变化的字段以及能够与所述第一表建立关联关系的关联字段。
进一步地,在本示例实施例中,所述交易数据处理装置还可以包括:查询单元,用于接收数据查询请求;根据所述数据查询请求在所述第一表和所述第二表中查找对应的数据;将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并。
进一步地,在本示例实施例中,根据所述数据查询请求在所述第一表和所述第二表中查找对应的数据可以包括:根据所述查询请求中包含的字段类型在所述第一表和所述第二表中查找与所述字段类型对应的数据;将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并可以包括:通过与所述字段类型对应的操作将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并。
具体而言,在本示例实施例中,所述字段类型对应的操作可以包括累加操作和覆盖操作。
由于本公开的示例实施例的交易数据处理装置400的各个功能模块与上述交易数据处理方法的示例实施例的步骤对应,因此在此不再赘述。
应当注意,尽管在上文详细描述中提及了交易数据处理装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施例的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种交易数据处理方法,其特征在于,包括:
在交易过程中通过第一表记录并处理与交易业务相关的数据;
在清算过程中通过第二表记录并处理与清算业务相关的数据;以及
在入账时根据所述第二表与所述第一表的关联关系将所述第二表中的数据同步到所述第一表中。
2.根据权利要求1所述的交易数据处理方法,其特征在于,将所述第二表中的数据同步到所述第一表中包括:
通过小事务提交的方式将所述第二表中的数据同步到所述第一表中,所述小事务为每次提交的数据量小于预定数据量的事务。
3.根据权利要求2所述的交易数据处理方法,其特征在于,所述预定数据量为根据数据处理装置的性能确定的数据量。
4.根据权利要求2所述的交易数据处理方法,其特征在于,所述交易数据处理方法还包括:
在同一所述小事务中将所述第二表中的数据同步到所述第一表的过程中,删除所述第二表中同步到所述第一表中的数据,或者
在通过多个所述小事务将所述第二表中的数据同步到所述第一表的过程中,删除所述第二表中同步到所述第一表中的数据。
5.根据权利要求1所述的交易数据处理方法,其特征在于,所述交易数据处理方法还包括:
在入账之前判断是否需要对所述第二表中的数据进行重新清算;
在判定需要进行重新清算时,删除所述第二表中的清算相关数据;
根据与所述交易业务相关的数据进行重复清算,并记录在所述第二表中。
6.根据权利要求1所述的交易数据处理方法,其特征在于,所述第二表的字段包括能够与所述第一表建立关联关系的关联字段,以及在清算过程中所述第一表中发生变化的字段。
7.根据权利要求1至6中任一项所述的交易数据处理方法,其特征在于,所述交易数据处理方法还包括:
接收数据查询请求;
根据所述数据查询请求在所述第一表和所述第二表中查找对应的数据;
将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并。
8.根据权利要求7所述的交易数据处理方法,其特征在于,
根据所述数据查询请求在所述第一表和所述第二表中查找对应的数据包括:根据所述查询请求中包含的字段类型在所述第一表和所述第二表中查找与所述字段类型对应的数据;
将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并包括:通过与所述字段类型对应的操作将在所述第一表中查找到的数据与在所述第二表中查找到的数据进行合并。
9.根据权利要求8所述的交易数据处理方法,其特征在于,所述字段类型对应的操作包括累加操作和覆盖操作。
10.一种交易数据处理装置,其特征在于,包括:
交易处理单元,用于在交易过程中通过第一表记录并处理与交易业务相关的数据;
清算处理单元,用于在清算过程中通过第二表记录并处理与清算业务相关的数据;以及
入账处理单元,用于在入账时根据所述第二表与所述第一表的关联关系将所述第二表中的数据同步到所述第一表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710197865.5A CN106991606B (zh) | 2017-03-29 | 2017-03-29 | 交易数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710197865.5A CN106991606B (zh) | 2017-03-29 | 2017-03-29 | 交易数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106991606A true CN106991606A (zh) | 2017-07-28 |
CN106991606B CN106991606B (zh) | 2020-09-18 |
Family
ID=59411957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710197865.5A Active CN106991606B (zh) | 2017-03-29 | 2017-03-29 | 交易数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106991606B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107730381A (zh) * | 2017-09-14 | 2018-02-23 | 中国银联股份有限公司 | 一种备份截面数据的方法及装置 |
CN108846060A (zh) * | 2018-06-01 | 2018-11-20 | 深圳市茁壮网络股份有限公司 | 一种补录媒资信息的方法及装置 |
WO2019024583A1 (zh) * | 2017-07-31 | 2019-02-07 | 平安科技(深圳)有限公司 | 交易回滚方法、装置、计算机设备和存储介质 |
CN110457336A (zh) * | 2019-08-15 | 2019-11-15 | 中国银行股份有限公司 | 交易数据处理方法及装置 |
CN117648381A (zh) * | 2023-12-21 | 2024-03-05 | 易方达基金管理有限公司 | 一种基于实时交易的数据同步方法及装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553393A (zh) * | 2003-12-29 | 2004-12-08 | 兴业银行股份有限公司 | 实现银行不间断服务的数据处理方法和系统 |
CN101310298A (zh) * | 2005-04-01 | 2008-11-19 | 利菲行政管理公司 | 电子期货交易所的交易和结算增强 |
CN103327003A (zh) * | 2012-03-19 | 2013-09-25 | Sap股份公司 | 用于面向服务的系统的服务等级协议转换 |
CN103984739A (zh) * | 2014-05-23 | 2014-08-13 | 光大证券股份有限公司 | 实现连续实时证券交易业务处理的数据处理方法及装置 |
CN104182898A (zh) * | 2014-08-13 | 2014-12-03 | 中国银行股份有限公司 | 银行系统对夜模式期间发生的联机交易进行补录的方法 |
CN104317963A (zh) * | 2014-11-14 | 2015-01-28 | 中国建设银行股份有限公司 | 一种数据处理方法及装置 |
US20150149344A1 (en) * | 2013-11-26 | 2015-05-28 | International Business Machines Corporation | Synchronous split payment transaction management |
CN105589924A (zh) * | 2015-11-23 | 2016-05-18 | 江苏瑞中数据股份有限公司 | 一种数据库事务粒度同步方法 |
US20160147859A1 (en) * | 2014-11-25 | 2016-05-26 | Juchang Lee | Transactional and Parallel Log Replay for Asynchronous Table Replication |
CN105701651A (zh) * | 2016-01-11 | 2016-06-22 | 何伯祥 | 一种跨区域结算交易系统及方法 |
CN106325933A (zh) * | 2016-08-24 | 2017-01-11 | 明算科技(北京)股份有限公司 | 批量数据同步方法和装置 |
CN106354830A (zh) * | 2016-08-31 | 2017-01-25 | 天津南大通用数据技术股份有限公司 | 一种数据库集群节点间数据同步的方法及装置 |
-
2017
- 2017-03-29 CN CN201710197865.5A patent/CN106991606B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553393A (zh) * | 2003-12-29 | 2004-12-08 | 兴业银行股份有限公司 | 实现银行不间断服务的数据处理方法和系统 |
CN101310298A (zh) * | 2005-04-01 | 2008-11-19 | 利菲行政管理公司 | 电子期货交易所的交易和结算增强 |
CN103327003A (zh) * | 2012-03-19 | 2013-09-25 | Sap股份公司 | 用于面向服务的系统的服务等级协议转换 |
US20150149344A1 (en) * | 2013-11-26 | 2015-05-28 | International Business Machines Corporation | Synchronous split payment transaction management |
CN103984739A (zh) * | 2014-05-23 | 2014-08-13 | 光大证券股份有限公司 | 实现连续实时证券交易业务处理的数据处理方法及装置 |
CN104182898A (zh) * | 2014-08-13 | 2014-12-03 | 中国银行股份有限公司 | 银行系统对夜模式期间发生的联机交易进行补录的方法 |
CN104317963A (zh) * | 2014-11-14 | 2015-01-28 | 中国建设银行股份有限公司 | 一种数据处理方法及装置 |
US20160147859A1 (en) * | 2014-11-25 | 2016-05-26 | Juchang Lee | Transactional and Parallel Log Replay for Asynchronous Table Replication |
CN105589924A (zh) * | 2015-11-23 | 2016-05-18 | 江苏瑞中数据股份有限公司 | 一种数据库事务粒度同步方法 |
CN105701651A (zh) * | 2016-01-11 | 2016-06-22 | 何伯祥 | 一种跨区域结算交易系统及方法 |
CN106325933A (zh) * | 2016-08-24 | 2017-01-11 | 明算科技(北京)股份有限公司 | 批量数据同步方法和装置 |
CN106354830A (zh) * | 2016-08-31 | 2017-01-25 | 天津南大通用数据技术股份有限公司 | 一种数据库集群节点间数据同步的方法及装置 |
Non-Patent Citations (1)
Title |
---|
邰东娜: "银行个人业务7x24服务系统的设计与实现", 《中国优秀硕士学位论文全文数据库 经济与管理科学辑(月刊)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019024583A1 (zh) * | 2017-07-31 | 2019-02-07 | 平安科技(深圳)有限公司 | 交易回滚方法、装置、计算机设备和存储介质 |
CN107730381A (zh) * | 2017-09-14 | 2018-02-23 | 中国银联股份有限公司 | 一种备份截面数据的方法及装置 |
CN107730381B (zh) * | 2017-09-14 | 2020-12-18 | 中国银联股份有限公司 | 一种备份截面数据的方法及装置 |
CN108846060A (zh) * | 2018-06-01 | 2018-11-20 | 深圳市茁壮网络股份有限公司 | 一种补录媒资信息的方法及装置 |
CN110457336A (zh) * | 2019-08-15 | 2019-11-15 | 中国银行股份有限公司 | 交易数据处理方法及装置 |
CN110457336B (zh) * | 2019-08-15 | 2022-03-11 | 中国银行股份有限公司 | 交易数据处理方法及装置 |
CN117648381A (zh) * | 2023-12-21 | 2024-03-05 | 易方达基金管理有限公司 | 一种基于实时交易的数据同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106991606B (zh) | 2020-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106991606A (zh) | 交易数据处理方法及装置 | |
CN105144158B (zh) | 使用拆毁写检测的恢复处理方法和系统 | |
US7480918B2 (en) | Duplicate message elimination during recovery when multiple threads are delivering messages from a message store to a destination queue | |
CN109542980B (zh) | 一种区块链的数据处理方法、装置、设备及介质 | |
US7689565B1 (en) | Methods and apparatus for synchronizing network management data | |
CN104794138B (zh) | 一种数据库交易结果确认方法、装置及系统 | |
US8667033B1 (en) | Persistent file system objects for management of databases | |
US8086566B2 (en) | Transaction consistent content replication | |
CN106484906A (zh) | 一种分布式对象存储系统闪回方法及装置 | |
CN101784988A (zh) | 用以提高事务处理吞吐量的事务聚集 | |
CN106575251B (zh) | 流数据的推测数据处理 | |
CN108647357A (zh) | 数据查询的方法及装置 | |
US8554727B2 (en) | Method and system of tiered quiescing | |
CN107957918A (zh) | 数据恢复方法和装置 | |
US20140108367A1 (en) | Client apparatus and database server for resumable transaction and method thereof | |
US20160026536A1 (en) | Recovery path selection during database restore | |
KR101071484B1 (ko) | 데이터베이스의 논리적 데이터 오류 복구방법 | |
US20180032555A1 (en) | Object database system including an object-specific historical attribute-change information system | |
CN110795447A (zh) | 数据处理方法、数据处理系统、电子设备和介质 | |
CN110597669B (zh) | 银行历史数据参数化备份恢复方法和装置 | |
CN110543485B (zh) | 一种基于快照的区块链预约归档方法 | |
US11288141B2 (en) | AI-based online recovery of non-critical business process data with referential integrity | |
US7979540B2 (en) | Configurable recovery of aborted session data | |
JP2001356946A (ja) | ワークフロー実行方法および装置とワークフロー実行プログラムを記録した記録媒体 | |
CN112948175A (zh) | 清算方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |