CN105573732A - 一种基于分布式系统的业务对象的处理方法和装置 - Google Patents

一种基于分布式系统的业务对象的处理方法和装置 Download PDF

Info

Publication number
CN105573732A
CN105573732A CN201410543062.7A CN201410543062A CN105573732A CN 105573732 A CN105573732 A CN 105573732A CN 201410543062 A CN201410543062 A CN 201410543062A CN 105573732 A CN105573732 A CN 105573732A
Authority
CN
China
Prior art keywords
business object
node
timestamp
distributed system
data
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
Application number
CN201410543062.7A
Other languages
English (en)
Other versions
CN105573732B (zh
Inventor
许寄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410543062.7A priority Critical patent/CN105573732B/zh
Publication of CN105573732A publication Critical patent/CN105573732A/zh
Application granted granted Critical
Publication of CN105573732B publication Critical patent/CN105573732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种基于分布式系统的业务对象的处理方法和装置,所述的方法包括:在分布式系统中的业务对象处理节点中接收业务对象的第一处理请求;所述第一处理请求中包括数据处理信息;根据所述数据处理信息生成业务对象数据;从分布式系统中的时间服务节点提取时间戳;在所生成的业务对象数据中添加所述时间戳。本发明实施例避免了因为提供时间服务的不同机器之间的原子时钟不同而造成处理节点之间时间存在细微的差异的问题,提高了处理节点之间时间信息的一致性,以保证各业务对象的处理时间的顺序正确。

Description

一种基于分布式系统的业务对象的处理方法和装置
技术领域
本申请涉及分布式系统的技术领域,尤其涉及一种基于分布式系统的业务对象的处理方法和一种基于分布式系统的业务对象的处理装置。
背景技术
分布式系统(distributedsystem)是由许多相同的应用节点相互协作构成的、建立在网络之上的系统。在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体。
在分布式系统环境下,应用节点可以进行业务对象的处理,也可以称为处理节点,通常都会部署NTP(NetworkTimeProtocol,用来使计算机时间同步化的一种协议)时钟校准服务,用于校准各处理节点的系统时间;取得全局线性时间的效果,防止由于各个处理节点操作系统的本地时钟偏差、所导致的时钟跃变现象。
但是基于NTP时钟校准服务,各个处理节点取到的最新时间需要覆盖本地操作系统时间,在覆盖完之后再进行计时,这个过程会出现彼此间的差异,使得无法保证在某个绝对时点下、处理节点间的本地系统时间绝对一致。
在一个海量、高并发的分布式系统中处理业务对象,要求分布式系统所产生的每次业务对象的处理数据,其所登记的业务发生时间点能够清晰表明业务发生的顺序,要求精确到毫秒甚至纳秒级。
当分布式系统对时间准确性要求极高时,分布式系统的处理节点间本地时间所存在的细微差异瑕疵将被放大。
假设一次稍早的业务对象的处理请求,由于被路由到本地时间稍晚的处理节点进行处理,其登记的处理时间可能会晚于另外一次业务对象的处理时间,尤其在零点附近容易出现业务对象的处理跨日、跨月、跨季、跨年等现象,使得在业务对象的处理数据核对等情况下出现严重的错误。
例如,系统A向分布式系统B发起两次业务对象的处理请求X和Y,X和Y的请求时间相距一秒钟。系统A认为,X的发生时间点要早于Y;而分布式系统B处理两次处理请求的应用节点由于时间不一致,先处理X的一个处理节点其时间比后处理Y的另一个处理节点时间要晚,导致分布式系统B处理X的处理时间晚于处理Y的处理时间。
如果系统A用X和Y的数据与分布式系统B的处理数据进行核对,会发现X和Y的处理时间点不一致,也就是“乱序”现象。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何提出一种基于分布式系统的业务对象的处理机制,以提高处理节点之间时间信息的一致性。
发明内容
本申请实施例所要解决的技术问题是提供一种基于分布式系统的业务对象的处理方法,以提高处理节点之间时间信息的一致性。
相应的,本申请实施例还提供了一种基于分布式系统的业务对象的处理装置,以提高处理节点之间时间信息的一致性。
为了解决上述问题,本申请实施例公开了一种基于分布式系统的业务对象的处理方法,包括:
在分布式系统中的业务对象处理节点中接收业务对象的第一处理请求;所述第一处理请求中包括数据处理信息;
根据所述数据处理信息生成业务对象数据;
从分布式系统中的时间服务节点提取时间戳;
在所生成的业务对象数据中添加所述时间戳。
优选地,所述时间服务节点为分布式系统中的独立节点。
优选地,所述时间服务节点包括分布式系统中集成于指定业务对象处理节点中,用于提供时间戳的时间服务模块。
优选地,所述时间服务节点包括时间服务主节点及时间服务备份节点;所述从所述时间服务节点中提取时间戳的步骤包括:
从所述时间服务主节点中提取时间戳;
当从所述时间服务主节点中提取时间戳失败时,从所述时间服务备份节点中提取时间戳。
优选地,从时间服务主节点或时间服务备份节点中提取时间戳的方式为Get方式。
优选地,所述业务对象处理节点包括一个或多个本地线程变量,每个本地线程变量具有独立的变量副本;
所述根据所述数据处理信息生成业务对象数据的步骤包括:
在所述一个或多个本地线程变量中,采用所述独立的变量副本按照所述业务对象处理信息生成业务对象数据。
优选地,所述时间戳存储在内存中;所述在所生成的业务对象数据中添加所述时间戳的步骤包括:
从内存中提取所述时间戳;
在所生成的业务对象数据中添加在内存提取的时间戳。
优选地,所述业务对象数据具有业务对象数据标识,所述方法还包括:
将所述时间戳和所述业务对象数据标识进行数据映射。
本申请实施例还公开了一种基于分布式系统的业务对象的处理方法,包括:
在分布式系统中的第一业务对象处理节点中接收第二业务处理节点发送的业务对象的第二处理请求;所述处理请求中包括数据处理信息和时间戳;
根据所述数据处理信息生成业务对象数据;
在所生成的业务对象数据中添加所述时间戳;
其中,所述时间戳为所述第二业务处理节点在接收到业务对象的第三处理请求时,从分布式系统中的时间服务节点中提取的时间戳。
本申请实施例还公开了一种基于分布式系统的业务对象的处理装置,包括:
第一请求接收模块,用于在分布式系统中的业务对象处理节点中接收业务对象的第一处理请求;所述第一处理请求中包括数据处理信息;
业务对象数据生成模块,用于根据所述数据处理信息生成业务对象数据;
时间戳提取模块,用于从分布式系统中的时间服务节点中提取时间戳;
时间戳添加模块,用于在所生成的业务对象数据中添加所述时间戳。
优选地,所述时间服务节点包括时间服务主节点及时间服务备份节点;所述时间戳提取模块包括:
主节点提取子模块,用于从所述时间服务主节点中提取时间戳;
备份节点提取子模块,用于在从所述时间服务主节点中提取时间戳失败时,从所述时间服务备份节点中提取时间戳。
优选地,所述业务对象处理节点包括一个或多个本地线程变量,每个本地线程变量具有独立的变量副本;
所述业务对象数据生成模块包括:
并发生成子模块,用于在所述一个或多个本地线程变量中,采用所述独立的变量副本按照所述业务对象处理信息生成业务对象数据。
优选地,所述时间戳存储在内存中;所述时间戳添加模块包括:
提取子模块,用于从内存中提取所述时间戳;
添加子模块,用于在所生成的业务对象数据中添加在内存提取的时间戳。
优选地,所述业务对象数据具有业务对象数据标识,所述装置还包括:
映射模块,用于将所述时间戳和所述业务对象数据标识进行数据映射。
本申请实施例还公开了一种基于分布式系统的业务对象的处理装置,包括:
第二请求接收模块,用于在分布式系统中的第一业务对象处理节点中接收第二业务处理节点发送的业务对象的第二处理请求;所述第二处理请求中包括数据处理信息和时间戳;
业务对象数据生成模块,用于根据所述数据处理信息生成业务对象数据;
时间戳添加模块,用于在所生成的业务对象数据中添加所述时间戳;
其中,所述时间戳为所述第二业务处理节点在接收到业务对象的第三处理请求时,从分布式系统中的时间服务节点中提取的时间戳。
本申请实施例在分布式系统中的业务对象处理节点中按照业务对象的处理请求中数据处理信息生成业务对象数据,根据处理请求中的时间获取信息从分布式系统中的时间服务节点中提取时间戳,以及在所生成的业务对象数据中添加所述时间戳,而对于单个时间服务节点,无论其本身的时间是否绝对精准,如与格林威治时间是否绝对一致,但是其时间戳具有强一致性、强连续性的特征,分布式系统环境下的处理节点遵从该时间服务节点的授时,避免了因为提供时间服务的不同机器之间的原子时钟不同而造成处理节点之间时间存在细微的差异的问题,提高了处理节点之间时间信息的一致性,以保证各业务对象的处理时间的顺序正确。
此外,在分布式系统中的应用系统本身对数据库的强依赖下,业务操作通常是伴随着数据库写入的,有查询、新增、修改等操作,一次业务操作会有多次数据库写入,所以多一次时间戳获取并不会有明显开销导致降低性能,保证了获取当前时间戳的性能开销的可控性。
本申请实施例中的时间戳可以不覆盖本地系统时间,而存储在内存中,避免了因为覆盖本地系统时间所引起的不同处理节点时间之间存在细微差异的问题,进一步提高了处理节点之间时间信息的一致性,同时内存技术提高了时间戳的读取和写入速度,提升处理节点的处理效率。
本申请实施例将时间戳和业务对象数据标识进行数据映射,在业务对象数据核对时,基于时间戳的一致性,保证了业务对象数据顺序的一致性,保证了在业务对象数据核对的时候,根据时间(如自然日)硬性切分的安全性。
附图说明
图1是本申请的一种基于分布式系统的业务对象的处理方法实施例1的步骤流程图;
图2是本申请的一种基于分布式系统的业务对象的处理方法实施例2的步骤流程图;
图3是本申请的一种基于分布式系统的业务对象的处理装置实施例1的结构框图;
图4是本申请的一种基于分布式系统的业务对象的处理装置实施例2的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
在一个有海量数据的网站中,例如电子商务(ElectronicCommerce,EC)网站需要处理海量的商品买卖数据,每秒都可能需要处理上万数量的商品买卖数据,每几十分钟可能累积上百万数量的商品买卖数据,每几十分钟可能就需要进行一次数据核对。
当分布式系统的处理节点对时间准确性要求极高时,分布式系统间本地时间所存在的细微差异瑕疵将被放大。
例如,在电子商务中设计一个海量、高并发的分布式在线支付服务系统,要求支付服务系统所产生的每笔业务数据,其所登记的业务发生时间点能够清晰表明业务发生的顺序,要求精确到毫秒甚至纳秒级;一笔稍早的业务请求,由于被路由分配到本地时间稍晚的处理节点进行处理,其登记的处理时间可能会晚于另外一笔业务请求,会造成业务数据核对出错,如某段时间内数据核对的其中一方可能会有较多的业务数据,另一方可能会有较少的业务数据,只能人工逐笔去关联,这对大数据量分析核对工作来说是无法承受成本的。因此,在苛刻的需求背景下无法接受此种时间存在差异的处理结果。
每个处理节点的应用程序是运行在实际的操作系统之上的,如linux、windows等,而不同物理机器的操作系统时间或多或少会存在差异,使得基于NTP服务所校准的处理节点的本地操作系统时间,在某个绝对时点下,即一个具体的时间点,比如在2014年7月1日14点22分14秒301毫秒356纳秒,各个处理节点的本地系统时间并不能保持绝对一致。
因此,提出了本申请实施例的核心构思之一,为保证在一个分布式系统环境下实现多处理节点的时间一致性,需要一个单点的时钟服务,由其统一公布时间信息,每个处理节点应用定时向其咨询当前时间。
参照图1,示出了本申请的一种基于分布式系统的业务对象的处理方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤101,在分布式系统中的业务对象处理节点中接收业务对象的第一处理请求;
在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。
分布式系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。
分布式系统中存在一个以全局的方式管理计算机资源的分布式操作系统。
通常,对用户来说,分布式系统可以有一个模型或范型。在操作系统之上有一层软件中间件(middleware)负责实现这个模型。
一个典型的分布式系统的例子是万维网(WorldWideWeb),在万维网中,所有的一切看起来就好像是一个文档(Web页面)一样。
当然,该分布式系统还可以包括Hadoop、Dynamo、GFS(GoogleFileSystem)、Bigtable、Azure、PNUTS等等,本申请实施例对此不加以限制。
对于不同业务领域而言,可以具有不同的业务对象,即具有业务领域特征的对象。
例如,对于半导体领域而言,业务对象可以包括物料(如硅片);对于新闻媒体领域而言,业务对象可以包括新闻数据;对于移动通讯领域而言,业务对象可以包括移动通讯数据;对于电子商务领域而言,业务对象可以包括商品。
为使本领域技术人员更好地理解本申请实施例,在本说明书中,将电子商务领域的商品作为业务对象的一种示例进行说明。
一个典型的商品交易事件中,可以包括买家、卖家和支付服务系统等对象。
对于买家,可以在客户端上通过商品下单、付款、接收商品、退还商品(即退货)、更换商品、退款等操作,触发业务对象的处理请求。
对于支付服务系统,可以通过接收买家付款、将付款转付卖家等操作,触发业务对象的处理请求。
对于卖家,可以在另一客户端上通过接收订单、发送商品(即发货)、接收付款、接收退还商品、退还付款等操作,触发业务对象的处理请求。
当然,上述处理请求只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他处理请求,本申请实施例对此不加以限制。另外,除了上述处理请求外,本领域技术人员还可以根据实际需要采用其它处理请求,本申请实施例对此也不加以限制。
在具体实现中,所述第一处理请求中可以包括数据处理信息。
其中,数据处理信息可以记录处理业务对象所需的数据,例如,对于商品下单操作,该数据处理信息可以包括买家的信息(如ID)、卖家的信息(如ID)、商品的信息(如ID、数量、价格)等等。
步骤102,根据所述数据处理信息生成业务对象数据;
在具体实现中,处理节点可以根据处理业务对象所需的数据生成一条或多条业务对象数据。
例如,对于买家的商品下单操作,可以生成交易订单数据;对于付款操作,可以生成付款数据;对于接收商品的操作,可以生成确认收货的数据;
对于支付服务系统接收买家付款的操作,可以生成买家付款的数据;对于将付款转付卖家等操作,可以生成确认收货转款到卖家的数据;
对于卖家的接收订单的操作,可以生成接收买家订单的数据;对于接收付款的操作,可以生成接收付款的数据;对于发货的操作,可以生成发货的数据;
当然,上述业务对象数据只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他业务对象数据,本申请实施例对此不加以限制。另外,除了上述业务对象数据外,本领域技术人员还可以根据实际需要采用其它业务对象数据,本申请实施例对此也不加以限制。
在本申请的一种优选实施例中,所述业务对象处理节点可以包括一个或多个本地线程变量,每个本地线程变量可以具有独立的变量副本;
在本申请实施例中,步骤102可以包括如下子步骤:
子步骤S11,在所述一个或多个本地线程变量中,采用所述独立的变量副本按照所述业务对象处理信息生成业务对象数据。
在处理节点高并发处理业务对象时,可以采用本地线程变量(ThreadLocal)解决多线程的并发访问。
ThreadLocal为线程的局部变量,在多线程并发访问同一个数据的时候,可以为每一个线程提供一个独立的变量副本,每个线程各自操作自己的变量副本,不会影响其它线程的变量副本,从而隔离了多个线程对数据的访问冲突。
步骤103,从分布式系统中的时间服务节点中提取时间戳;
本申请实施例中,为保证在一个分布式系统环境下实现处理节点之间的时间一致性,由时间服务节点提供时钟服务,统一公布时间信息,每个处理节点应用向其咨询当前时间。
在具体实现中,第一处理请求中可以包括时间获取信息,该时间获取信息可以用于指示需要获取时间戳。在业务处理节点检测到该时间获取信息时,可以从分布式系统中的时间服务节点中提取时间戳。
在本申请实施例的一种优选示例中,所述时间服务节点可以为分布式系统中的独立节点。例如,该时间服务节点可以为独立的服务器。
在本申请实施例的另一种优选示例中,所述时间服务节点可以包括分布式系统中集成于指定业务对象处理节点中,用于提供时间戳的时间服务模块。例如,该时间服务节点可以为数据库。
在本申请的一种优选实施例中,所述时间服务节点可以包括时间服务主节点及时间服务备份节点;其中,时间服务主节点和时间服务备份节点可以具有一致的时间信息。
则在本申请实施例中,步骤103可以包括如下子步骤:
子步骤S21,从所述时间服务主节点中提取时间戳;
子步骤S22,当从所述时间服务主节点中提取时间戳失败时,从所述时间服务备份节点中提取时间戳。
本申请实施例中,在时间服务主节点正常运行时,处理节点可以从时间服务主节点提取时间戳;在时间服务主节点出现宕机等异常运行状态时,处理节点可以时间服务备份节点中提取时间戳,以保障时间戳的正常获取。
在具体实现中,从时间服务主节点或时间服务备份节点中提取时间戳的方式为Get方式。
Get方式是向时间服务主节点或时间服务备份节点索取数据的一种请求,例如,可以执行代码selectcurrent_timestampfromdual(orale数据库的语法)向时间服务主节点或时间服务备份节点提取时间戳。
步骤104,在所生成的业务对象数据中添加所述时间戳。
在具体实现中,处理节点对业务对象的处理请求进行处理,通常会进行数据库的写操作。
伴随本次业务请求的处理过程,涉及到本次业务处理过程中需要执行的数据库操作,例如,执行SQL(StructuredQueryLanguage,结构化查询语言语句)语句,其所影响的数据库记录中用于登记时间属性的字段,可以使用该时间戳赋值。
例如,可以通过以下方式使用时间戳赋值:
insertintotest_table1values(‘value1’,to_timestamp('2014-06-2013:55:33:272659','yyyy-mm-ddhh24:mi:ss:ff'))
insertintotest_table2values(‘value2’,to_timestamp('2014-06-2013:55:33:272659','yyyy-mm-ddhh24:mi:ss:ff'))
其中,to_timestamp函数为oracle数据库的时间转换函数,'2014-06-2013:55:33:272659'为时间戳,'yyyy-mm-ddhh24:mi:ss:ff'为时间戳的格式。
在本申请的一种优选实施例中,所述时间戳可以存储在内存中,则在本申请实施例中,步骤104可以包括如下子步骤:
子步骤S31,从内存中提取所述时间戳;
子步骤S32,在所生成的业务对象数据中添加在内存提取的时间戳。
内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU(CentralProcessingUnit,中央处理器)中的运算数据,以及与硬盘等外部存储器交换的数据。处理节点在运行中,其CPU会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来。
本申请实施例中的时间戳可以不覆盖本地系统时间,而存储在内存中,避免了因为覆盖本地系统时间所引起的不同处理节点时间之间存在细微差异的问题,进一步提高了处理节点之间时间信息的一致性,同时内存技术提高了时间戳的读取和写入速度,提升处理节点的处理效率。
本申请实施例在分布式系统中的业务对象处理节点中按照业务对象的处理请求中数据处理信息生成业务对象数据,根据处理请求中的时间获取信息从分布式系统中的时间服务节点中提取时间戳,以及在所生成的业务对象数据中添加所述时间戳,而对于单个时间服务节点,无论其本身的时间是否绝对精准,如与格林威治时间是否绝对一致,但是其时间戳具有强一致性、强连续性的特征,分布式系统环境下的处理节点遵从该时间服务节点的授时,避免了因为提供时间服务的不同机器之间的原子时钟不同而造成处理节点之间时间存在细微的差异的问题,提高了处理节点之间时间信息的一致性,以保证各业务对象的处理时间的顺序正确。
此外,在分布式系统中的应用系统本身对数据库的强依赖下,业务操作通常是伴随着数据库写入的,有查询、新增、修改等操作,一次业务操作会有多次数据库写入,所以多一次时间戳获取并不会有明显开销导致降低性能,保证了获取当前时间戳性能开销的可控性。
在本申请的一种优选实施例中,所述业务对象数据可以具有业务对象数据标识,所述方法还可以包括如下步骤:
步骤105,将所述时间戳和所述业务对象数据标识进行数据映射。
业务对象数据标识可以为识别该业务对象数据的信息,可以包括用户信息(如用户ID)、业务对象信息(如业务对象ID)、处理信息(如交易流水号)等等。
例如,建立映射关系可以为2014.08.08.12:00:000000(时间)-123456(某次业务处理的流水号,即业务对象数据标识)。
常见的业务对象数据核对机制,一般是定期(核对周期)的,如一周、一天、一个小时等,核对周期可以根据业务对象所产生的数据量规模,以及核对周期在业务设计上是否允许,比如,核对双方可以按照一天一次的核对周期进行。
在业务对象数据核对开始时可以先选定一个时间范围,比如核对双方选取2014.08.08.11:30:000000-2014.08.08.12:30:000000这个时间段内的业务对象数据进行核对,则核对双方从数据库按这个时间段提取业务对象数据,将提取的业务对象数据逐笔核对,该核对可以根据双方的业务对象标识进行关联核对,例如,核对业务对象状态(如出货、退货等)、单据号、金额、买家信息、卖家信息等信息。
本申请实施例将时间戳和业务对象数据标识进行数据映射,在业务对象数据核对时,基于时间戳的一致性,保证了业务对象数据顺序的一致性,保证了在业务对象数据核对的时候,根据时间(如自然日)硬性切分的安全性。
参照图2,示出了本申请的一种基于分布式系统的业务对象的处理方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤201,在分布式系统中的第一业务对象处理节点中接收第二业务处理节点发送的业务对象的第二处理请求;所述第二处理请求中包括数据处理信息和时间戳;
步骤202,根据所述数据处理信息生成业务对象数据;
步骤203,在所生成的业务对象数据中添加所述时间戳;
其中,所述时间戳为所述第二业务处理节点在接收到业务对象的第三处理请求时,从分布式系统中的时间服务节点中提取的时间戳。
本申请实施例中,对于同一个业务请求,可以生成多个业务对象数据。例如,对于同一次商品交易操作,可以生成trade(交易数据),以及与trade(交易数据)关联的trade_goods(商品数据)、trade_shipping(物流数据)等多条业务对象数据。
第三业务处理请求可以为第二业务处理节点接收到的,首次进行业务处理的请求。
通常,该第三业务请求可以包括数据处理信息、时间获取信息。
其中一些业务对象数据可以在第二业务对象处理节点中根据部分的数据处理信息生成,而另外一些业务对象数据,由于时效性要求不高等原因,可以在第一业务对象处理节点中根据部分的数据处理信息生成。
第二业务对象处理节点在检测到时间获取信息时,可以从分布式系统中的时间服务节点中提取时间戳。
第二业务处理请求可以为第一业务处理节点接收到的,非首次进行业务处理的请求,具体可以由第二业务对象处理节点发出。
第二业务对象处理节点发送至第一业务对象处理节点的时间戳可以与第二处理请求是绑定的,第一业务对象处理节点不再去时间服务节点提取时间戳,而是以该第二业务对象处理节点发送时间戳生成业务对象数据。
在本申请实施例的一种优选示例中,所述时间服务节点可以为分布式系统中的独立节点。
在本申请实施例的另一种优选示例中,所述时间服务节点可以为分布式系统中集成于指定业务对象处理节点中,用于提供时间戳的时间服务模块。
在本申请的一种优选实施例中,所述时间服务节点可以包括时间服务主节点及时间服务备份节点;
第二业务对象处理节点通过以下方式从所述时间服务节点中提取时间戳:
从所述时间服务主节点中提取时间戳;
当从所述时间服务主节点中提取时间戳失败时,从所述时间服务备份节点中提取时间戳。
在具体实现中,从时间服务主节点或时间服务备份节点中提取时间戳的方式可以为Get方式。
在本申请的一种优选实施例中,所述业务对象处理节点可以包括一个或多个本地线程变量,每个本地线程变量可以具有独立的变量副本;
则在本申请实施例中,步骤202可以包括如下子步骤:
子步骤S41,在所述一个或多个本地线程变量中,采用所述独立的变量副本按照所述业务对象处理信息生成业务对象数据。
在本申请的一种优选实施例中,所述时间戳可以存储在内存中;
则在本申请实施例中,步骤203可以包括如下子步骤:
子步骤S51,从内存中提取所述时间戳;
子步骤S52,在所生成的业务对象数据中添加在内存提取的时间戳。
在本申请的一种优选实施例中,所述业务对象数据可以具有业务对象数据标识;
则在本申请实施例中,所述方法还包括可以包括如下步骤:
步骤204,将所述时间戳和所述业务对象数据标识进行数据映射。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图3,示出了本申请一种基于分布式系统的业务对象的处理装置实施例1的结构框图,具体可以包括如下模块:
第一请求接收模块301,用于在分布式系统中的业务对象处理节点中接收业务对象的第一处理请求;所述第一处理请求中可以包括数据处理信息;
业务对象数据生成模块302,用于根据所述数据处理信息生成业务对象数据;
时间戳提取模块303,从分布式系统中的时间服务节点中提取时间戳;
时间戳添加模块304,用于在所生成的业务对象数据中添加所述时间戳。
在本申请实施例的一种优选示例中,所述时间服务节点可以为分布式系统中的独立节点。
在本申请实施例的一种优选示例中,所述时间服务节点可以包括分布式系统中集成于指定业务对象处理节点中,用于提供时间戳的时间服务模块。
在本申请的一种优选实施例中,所述时间服务节点可以包括时间服务主节点及时间服务备份节点;所述时间戳提取模块303可以包括如下子模块:
主节点提取子模块,用于从所述时间服务主节点中提取时间戳;
备份节点提取子模块,用于在从所述时间服务主节点中提取时间戳失败时,从所述时间服务备份节点中提取时间戳。
在本申请实施例的一种优选示例中,从时间服务主节点或时间服务备份节点中提取时间戳的方式可以为Get方式。
在本申请的一种优选实施例中,所述业务对象处理节点可以包括一个或多个本地线程变量,每个本地线程变量可以具有独立的变量副本;
所述业务对象数据生成模块302可以包括如下子模块:
并发生成子模块,用于在所述一个或多个本地线程变量中,采用所述独立的变量副本按照所述业务对象处理信息生成业务对象数据。
在本申请的一种优选实施例中,所述时间戳可以存储在内存中;所述时间戳添加模块304可以包括如下子模块:
提取子模块,用于从内存中提取所述时间戳;
添加子模块,用于在所生成的业务对象数据中添加在内存提取的时间戳。
在本申请的一种优选实施例中,所述业务对象数据可以具有业务对象数据标识,所述装置还可以包括如下模块:
映射模块,用于将所述时间戳和所述业务对象数据标识进行数据映射。
参照图4,示出了本申请一种基于分布式系统的业务对象的处理装置实施例2的结构框图,具体可以包括如下模块:
第二请求接收模块401,用于在分布式系统中的第一业务对象处理节点中接收第二业务处理节点发送的业务对象的第二处理请求;所述第二处理请求中包括数据处理信息和时间戳;
业务对象数据生成模块402,用于根据所述数据处理信息生成业务对象数据;
时间戳添加模块403,用于在所生成的业务对象数据中添加所述时间戳;
其中,所述时间戳为所述第二业务处理节点在接收到业务对象的第三处理请求时,从分布式系统中的时间服务节点中提取的时间戳。
在本申请实施例的一种优选示例中,所述时间服务节点可以为分布式系统中的独立节点。
在本申请实施例的另一种优选示例中,所述时间服务节点可以包括分布式系统中集成于指定业务对象处理节点中,用于提供时间戳的时间服务模块。
在本申请的一种优选实施例中,所述时间服务节点可以包括时间服务主节点及时间服务备份节点;
第二业务对象处理节点通过以下方式从所述时间服务节点中提取时间戳:
从所述时间服务主节点中提取时间戳;
当从所述时间服务主节点中提取时间戳失败时,从所述时间服务备份节点中提取时间戳。
在具体实现中,从时间服务主节点或时间服务备份节点中提取时间戳的方式可以为Get方式。
在本申请的一种优选实施例中,所述业务对象处理节点可以包括一个或多个本地线程变量,每个本地线程变量可以具有独立的变量副本;
所述业务对象数据生成模块402可以包括如下子模块:
并发生成子模块,用于在所述一个或多个本地线程变量中,采用所述独立的变量副本按照所述业务对象处理信息生成业务对象数据。
在本申请的一种优选实施例中,所述时间戳可以存储在内存中;所述时间戳添加模块403可以包括如下子模块:
提取子模块,用于从内存中提取所述时间戳;
添加子模块,用于在所生成的业务对象数据中添加在内存提取的时间戳。
在本申请的一种优选实施例中,所述业务对象数据可以具有业务对象数据标识,所述装置还可以包括如下模块:
映射模块,用于将所述时间戳和所述业务对象数据标识进行数据映射。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种基于分布式系统的业务对象的处理方法和一种基于分布式系统的业务对象的处理装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (15)

1.一种基于分布式系统的业务对象的处理方法,其特征在于,包括:
在分布式系统中的业务对象处理节点中接收业务对象的第一处理请求;所述第一处理请求中包括数据处理信息;
根据所述数据处理信息生成业务对象数据;
从分布式系统中的时间服务节点提取时间戳;
在所生成的业务对象数据中添加所述时间戳。
2.根据权利要求1所述的方法,其特征在于,所述时间服务节点为分布式系统中的独立节点。
3.根据权利要求1所述的方法,其特征在于,所述时间服务节点包括分布式系统中集成于指定业务对象处理节点中,用于提供时间戳的时间服务模块。
4.根据权利要求1或2或3所述的方法,其特征在于,所述时间服务节点包括时间服务主节点及时间服务备份节点;所述从所述时间服务节点中提取时间戳的步骤包括:
从所述时间服务主节点中提取时间戳;
当从所述时间服务主节点中提取时间戳失败时,从所述时间服务备份节点中提取时间戳。
5.根据权利要求4所述的方法,其特征在于,从时间服务主节点或时间服务备份节点中提取时间戳的方式为Get方式。
6.根据权利要求1所述的方法,其特征在于,所述业务对象处理节点包括一个或多个本地线程变量,每个本地线程变量具有独立的变量副本;
所述根据所述数据处理信息生成业务对象数据的步骤包括:
在所述一个或多个本地线程变量中,采用所述独立的变量副本按照所述业务对象处理信息生成业务对象数据。
7.根据权利要求1所述的方法,其特征在于,所述时间戳存储在内存中;所述在所生成的业务对象数据中添加所述时间戳的步骤包括:
从内存中提取所述时间戳;
在所生成的业务对象数据中添加在内存提取的时间戳。
8.根据权利要求1或2或3或5或6或7所述的方法,其特征在于,所述业务对象数据具有业务对象数据标识,所述方法还包括:
将所述时间戳和所述业务对象数据标识进行数据映射。
9.一种基于分布式系统的业务对象的处理方法,其特征在于,包括:
在分布式系统中的第一业务对象处理节点中接收第二业务处理节点发送的业务对象的第二处理请求;所述处理请求中包括数据处理信息和时间戳;
根据所述数据处理信息生成业务对象数据;
在所生成的业务对象数据中添加所述时间戳;
其中,所述时间戳为所述第二业务处理节点在接收到业务对象的第三处理请求时,从分布式系统中的时间服务节点中提取的时间戳。
10.一种基于分布式系统的业务对象的处理装置,其特征在于,包括:
第一请求接收模块,用于在分布式系统中的业务对象处理节点中接收业务对象的第一处理请求;所述第一处理请求中包括数据处理信息;
业务对象数据生成模块,用于根据所述数据处理信息生成业务对象数据;
时间戳提取模块,用于从分布式系统中的时间服务节点中提取时间戳;
时间戳添加模块,用于在所生成的业务对象数据中添加所述时间戳。
11.根据权利要求10所述的装置,其特征在于,所述时间服务节点包括时间服务主节点及时间服务备份节点;所述时间戳提取模块包括:
主节点提取子模块,用于从所述时间服务主节点中提取时间戳;
备份节点提取子模块,用于在从所述时间服务主节点中提取时间戳失败时,从所述时间服务备份节点中提取时间戳。
12.根据权利要求10所述的装置,其特征在于,所述业务对象处理节点包括一个或多个本地线程变量,每个本地线程变量具有独立的变量副本;
所述业务对象数据生成模块包括:
并发生成子模块,用于在所述一个或多个本地线程变量中,采用所述独立的变量副本按照所述业务对象处理信息生成业务对象数据。
13.根据权利要求10所述的装置,其特征在于,所述时间戳存储在内存中;所述时间戳添加模块包括:
提取子模块,用于从内存中提取所述时间戳;
添加子模块,用于在所生成的业务对象数据中添加在内存提取的时间戳。
14.根据权利要求10或11或12或13所述的装置,其特征在于,所述业务对象数据具有业务对象数据标识,所述装置还包括:
映射模块,用于将所述时间戳和所述业务对象数据标识进行数据映射。
15.一种基于分布式系统的业务对象的处理装置,其特征在于,包括:
第二请求接收模块,用于在分布式系统中的第一业务对象处理节点中接收第二业务处理节点发送的业务对象的第二处理请求;所述第二处理请求中包括数据处理信息和时间戳;
业务对象数据生成模块,用于根据所述数据处理信息生成业务对象数据;
时间戳添加模块,用于在所生成的业务对象数据中添加所述时间戳;
其中,所述时间戳为所述第二业务处理节点在接收到业务对象的第三处理请求时,从分布式系统中的时间服务节点中提取的时间戳。
CN201410543062.7A 2014-10-14 2014-10-14 一种基于分布式系统的业务对象的处理方法和装置 Active CN105573732B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410543062.7A CN105573732B (zh) 2014-10-14 2014-10-14 一种基于分布式系统的业务对象的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410543062.7A CN105573732B (zh) 2014-10-14 2014-10-14 一种基于分布式系统的业务对象的处理方法和装置

Publications (2)

Publication Number Publication Date
CN105573732A true CN105573732A (zh) 2016-05-11
CN105573732B CN105573732B (zh) 2019-06-11

Family

ID=55883910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410543062.7A Active CN105573732B (zh) 2014-10-14 2014-10-14 一种基于分布式系统的业务对象的处理方法和装置

Country Status (1)

Country Link
CN (1) CN105573732B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980476A (zh) * 2017-04-01 2017-07-25 广东浪潮大数据研究有限公司 一种分布式系统的数据一致性方法及装置
CN108512715A (zh) * 2017-02-28 2018-09-07 菜鸟智能物流控股有限公司 一种业务链路的负载压力测试方法和相关装置
CN109615379A (zh) * 2018-10-24 2019-04-12 阿里巴巴集团控股有限公司 一种拒付处理系统生成方法及装置
CN110022333A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 分布式系统的通信方法及装置
CN110597778A (zh) * 2019-09-11 2019-12-20 北京宝兰德软件股份有限公司 一种分布式文件备份和监控的方法及装置
CN111756550A (zh) * 2017-03-28 2020-10-09 创新先进技术有限公司 一种区块链共识方法及装置
CN113687834A (zh) * 2021-10-27 2021-11-23 深圳华锐金融技术股份有限公司 分布式系统节点部署方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080137691A1 (en) * 2006-08-22 2008-06-12 Brilliant Telecommunications, Inc. Apparatus and method of synchronizing distribution of packet services across a distributed network
CN101242356A (zh) * 2007-12-06 2008-08-13 中兴通讯股份有限公司 Iptv系统中内存数据库的实现方法及iptv系统
CN102932198A (zh) * 2012-07-09 2013-02-13 北京中创信测科技股份有限公司 一种实现ps域分布式架构的信令监测装置
CN103841131A (zh) * 2012-11-21 2014-06-04 腾讯科技(深圳)有限公司 处理远程指令的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080137691A1 (en) * 2006-08-22 2008-06-12 Brilliant Telecommunications, Inc. Apparatus and method of synchronizing distribution of packet services across a distributed network
CN101242356A (zh) * 2007-12-06 2008-08-13 中兴通讯股份有限公司 Iptv系统中内存数据库的实现方法及iptv系统
CN102932198A (zh) * 2012-07-09 2013-02-13 北京中创信测科技股份有限公司 一种实现ps域分布式架构的信令监测装置
CN103841131A (zh) * 2012-11-21 2014-06-04 腾讯科技(深圳)有限公司 处理远程指令的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S.K.SINGH: "《数据库系统 概念、设计及应用》", 31 January 2010 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108512715A (zh) * 2017-02-28 2018-09-07 菜鸟智能物流控股有限公司 一种业务链路的负载压力测试方法和相关装置
CN111756550A (zh) * 2017-03-28 2020-10-09 创新先进技术有限公司 一种区块链共识方法及装置
CN111756550B (zh) * 2017-03-28 2023-08-22 创新先进技术有限公司 一种区块链共识方法及装置
CN106980476A (zh) * 2017-04-01 2017-07-25 广东浪潮大数据研究有限公司 一种分布式系统的数据一致性方法及装置
CN110022333A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 分布式系统的通信方法及装置
CN110022333B (zh) * 2018-01-09 2022-07-05 阿里巴巴集团控股有限公司 分布式系统的通信方法及装置
CN109615379A (zh) * 2018-10-24 2019-04-12 阿里巴巴集团控股有限公司 一种拒付处理系统生成方法及装置
CN110597778A (zh) * 2019-09-11 2019-12-20 北京宝兰德软件股份有限公司 一种分布式文件备份和监控的方法及装置
CN113687834A (zh) * 2021-10-27 2021-11-23 深圳华锐金融技术股份有限公司 分布式系统节点部署方法、装置、设备及介质

Also Published As

Publication number Publication date
CN105573732B (zh) 2019-06-11

Similar Documents

Publication Publication Date Title
CN105573732A (zh) 一种基于分布式系统的业务对象的处理方法和装置
US20240169458A1 (en) System and process for tokenization and management of liability
US10346394B2 (en) Importation, presentation, and persistent storage of data
Bermbach et al. Consistency in distributed storage systems: An overview of models, metrics and measurement approaches
US20190392118A1 (en) Blockchain Version Control
CN109086325A (zh) 基于区块链的数据处理方法和装置
EP3479333A1 (en) International trade finance blockchain system
CN112015739A (zh) 一种数据核验、数据查询方法及装置
US20210319456A1 (en) Methods, apparatuses, devices, and systems for generating customs clearance confirmation information
CN105574022A (zh) 一种基于关系数据库的业务对象的处理方法和装置
CN106570029B (zh) 分布式关系型数据库的数据处理方法及系统
AU2017351024B2 (en) Processing application programming interface (API) queries based on variable schemas
US20130262378A1 (en) Aggregation point for enterprise business application binding
CN113094414B (zh) 流转图谱生成方法及装置
US20230073883A1 (en) Multi-blockchain token rebalancer
CN105574056A (zh) 一种异常问题定位方法和装置
CN106844038B (zh) 一种确定资源使用权限和资源提供的方法及装置
CN106569791B (zh) 一种数据对象的处理方法及装置
US11611438B2 (en) Computer network systems for cryptographically-secured, token-based operations and methods of use thereof
US8706619B1 (en) Employing spillover tables for data updates
CN111161019B (zh) 一种数据处理系统以及方法
Pholpabu et al. A Model Web-enable for OLTP with Replication Realtime Distributed Database
CN114240674A (zh) 一种定期拆分方法和装置
CN116032786A (zh) 一种区块链网络的压力测试方法、装置及设备
CN117971804A (zh) 数据迁移方法、装置、设备、存储介质和程序产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240227

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands