本申请实施例提供了一种基于关系数据库的业务对象的处理方法和装置,所述的方法包括:在关系数据库中接收业务对象的第一处理请求;所述第一处理请求中包括数据处理信息;根据所述数据处理信息生成一条或多条业务对象数据;从预置的时间服务节点中提取时间戳;在所生成的一条或多条业务对象数据中添加所述时间戳。本申请实施例避免了因为使用本地操作系统时间而造成业务对象数据之间时间存在细微的差异的问题,提高了业务对象数据之间时间信息的一致性,同时减少对数据库本地操作系统日期函数的调用,加快了处理的效率。
【技术实现步骤摘要】
本申请涉及关系数据库的
,特别是涉及一种基于关系数据库的业务对象的处理方法和一种基于关系数据库的业务对象的处理装置。
技术介绍
关系数据库(Relat1nal database),是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。其中,关系数据库包括OracleDatabase、MySQL 等等。各类关系数据库均有提供当前时间点的系统函数,例如,Oracle Database提供系统函数 sysdate、current_timestamp ;MySQL 提供系统函数 now O、curdate O、curtime O坐寸ο为了登记业务数据产生的时间,应用系统在向关系数据库写入业务对象数据时,往往会使用关系数据库自带的日期类系统函数,以关系数据库这一刻所认定的系统时间作为业务对象数据的登记时间。如:insert into test_tablel values ( ‘valuel’,current_timestamp)insert into test_table2 values ( ‘value2’,current_timestamp)这种做法在高一致性数据要求的应用系统设计中存在明显的问题:1、处理一次业务请求,应用系统可能产生一到多笔SQL (Structured QueryLanguage,结构化查询语言语句)语句执行命令,则上述的示例中所新增的数据内容,由于同一物理机器的操作系统时间是持续计时的,因此其时间点存在明显差异,精度越大的日期类型差异越明显;2、在跨日临界点时,如23:59:59:989,此时可能产生的两条数据记录会出现跨日现象,甚至跨月、跨季、跨年;这对基于海量数据的分析、用户报表统计均造成了极大影响,如常见的日报、月报、年报等。因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何提供一种基于关系数据库的业务对象的处理机制,以提高业务对象数据之间时间信息的一致性。
技术实现思路
本申请实施例所要解决的技术问题是提供一种基于关系数据库的业务对象的处理方法,以提高业务对象数据之间时间信息的一致性。相应的,本申请实施例还提供了一种基于关系数据库的业务对象的处理装置,以提高业务对象数据之间时间信息的一致性。为了解决上述问题,本申请实施例公开了一种基于关系数据库的业务对象的处理方法,包括:在关系数据库中接收业务对象的第一处理请求;所述第一处理请求中包括数据处理信息;根据所述数据处理信息生成一条或多条业务对象数据;从预置的时间服务节点中提取时间戳;在所生成的一条或多条业务对象数据中添加所述时间戳。优选地,所述时间服务节点为独立节点。优选地,所述时间服务节点包括集成于业务对象处理节点中,用于提供时间戳的时间服务模块。优选地,所述时间服务节点包括时间服务主节点及时间服务备份节点;所述从预置的时间服务节点中提取时间戳的步骤包括:从所述时间服务主节点中提取时间戳;当从所述时间服务主节点中提取时间戳失败时,从所述时间服务备份节点中提取时间戳。优选地,从时间服务主节点或时间服务备份节点中提取时间戳的方式为GET方式。优选地,所述关系数据库包括一个或多个本地线程变量,每个本地线程变量具有独立的变量副本;所述根据所述数据处理信息生成一条或多条业务对象数据的步骤包括:在所述一个或多个本地线程变量中,采用所述独立的变量副本按照所述业务对象处理信息生成业务对象数据。优选地,所述时间戳存储在内存中;所述在所生成的业务对象数据中添加所述时间戳的步骤包括:从内存中提取所述时间戳;在所生成的业务对象数据中添加在内存提取的时间戳。优选地,所述业务对象数据具有业务对象数据标识,所述的方法还包括:将所述时间戳和所述业务对象数据标识进行数据映射。本申请实施例还公开了一种基于关系数据库的业务对象的处理方法,包括:在第一关系数据库中接收第二关系数据库发送的业务对象的第二处理请求;所述第二处理请求中包括数据处理信息和时间戳;根据所述数据处理信息生成一条或多条业务对象数据;在所生成的一条或多条业务对象数据中添加所述时间戳;其中,所述时间戳为所述第二关系数据库在接收到业务对象的第三处理请求时,从预置的时间服务节点中提取的时间戳。本申请实施例还公开了一种基于关系数据库的业务对象的处理装置,包括:第一请求接收模块,用于在关系数据库中接收业务对象的第一处理请求;所述第一处理请求中包括数据处理信息;业务对象数据生成模块,用于根据所述数据处理信息生成一条或多条业务对象数据;时间戳提取模块,用于从预置的时间服务节点中提取时间戳;时间戳添加模块,用于在所生成的一条或多条业务对象数据中添加所述时间戳。优选地,所述时间服务节点包括时间服务主节点及时间服务备份节点;所述时间戳提取模块包括:主节点提取子模块,用于从所述时间服务主节点中提取时间戳;备份节点提取子模块,用于在从所述时间服务主节点中提取时间戳失败时,从所述时间服务备份节点中提取时间戳。优选地,所述关系数据库包括一个或多个本地线程变量,每个本地线程变量具有独立的变量副本;所述业务对象数据生成模块包括:并发生成子模块,用于在所述一个或多个本地线程变量中,采用所述独立的变量副本按照所述业务对象处理信息生成业务对象数据。优选地,所述时间戳存储在内存中;所述时间戳添加模块包括:提取子模块,用于从内存中提取所述时间戳;添加子模块,用于在所生成的业务对象数据中添加在内存提取的时间戳。优选地,所述业务对象数据具有业务对象数据标识,所述的装置还包括:映射模块,用于将所述时间戳和所述业务对象数据标识进行数据映射。本申请实施例还公开了一种基于关系数据库的业务对象的处理装置,包括:第二请求接收模块,用于在第一关系数据库中接收第二关系数据库发送的业务对象的第二处理请求;所述第二处理请求中包括数据处理信息和时间戳;业务对象数据生成模块,用于根据所述数据处理信息生成一条或多条业务对象数据;时间戳添加模块,用于在所生成的一条或多条业务对象数据中添加所述时间戳;其中,所述时间戳为所述第二关系数据库在接收到业务对象的第三处理请求时,从预置的时间服务节点中提取的时间戳。本申请实施例在关系数据库按照业务对象的处理请求中数据处理信息生成业务对象数据,根据处理请求中的时间获取信息时间服务节点中提取时间戳,以及在所生成一条或多条的业务对象数据中添加所述时间戳,而对于单个时间服务节点,无论其本身的时间是否绝对精准,如与格林威治时间是否绝对一致,但是其时间戳具有强一致性的特征,关系数据库遵从该时间服务节点的授时,避免了因为使用本地操作系统时间而造成业务对象数据之间时间存在细微的差异的问题,提高了业务对象数据之间时间信息的一致性,同时减少对数据库本地操作系统日期函数的调用,加快了处理的效率。此外,业务操作通常是伴随着数据库写入的,有查询、新增、修改等操作,一次业务操作会有多次数据库写入,所以多一次时间戳获取并不会有明显开销导致降低性能,保证了获取当前时间戳的性能开销的可控性。本申请实施例在关系数据库按照业务当前第1页1 2 3 4 5 本文档来自技高网...
【技术保护点】
一种基于关系数据库的业务对象的处理方法,其特征在于,包括:在关系数据库中接收业务对象的第一处理请求;所述第一处理请求中包括数据处理信息;根据所述数据处理信息生成一条或多条业务对象数据;从预置的时间服务节点中提取时间戳;在所生成的一条或多条业务对象数据中添加所述时间戳。
【技术特征摘要】
【专利技术属性】
技术研发人员:许寄,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。