首页> 中国专利> 交易系统构建方法、交易流程控制装置及第三方交易平台

交易系统构建方法、交易流程控制装置及第三方交易平台

摘要

本发明提供一种交易系统构建方法、交易流程控制装置及第三方交易平台,其中所述交易系统构建方法用于生成第三方交易平台,该方法包括以下步骤:步骤1,采集来自商户或用户的订单,并分析订单类型;步骤2,查找数据库或文件中是否存在对应于所述订单类型的自动机,所述自动机中包含交易流程的控制,如果存在,则基于已存在的自动机来执行交易流程;如果不存在,则构建交易流程,并将所述交易流程构建为自动机,与所述订单类型相关联后储存到所述数据库或文件中,基于该新构建的自动机来执行交易流程。由此,能够根据不同的订单类型定义不同的交易流程,从而实现交易流程的自定义和可扩展,提高交易系统的可扩展性和灵活性。

著录项

  • 公开/公告号CN105184575A

    专利类型发明专利

  • 公开/公告日2015-12-23

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN201510423363.0

  • 发明设计人 石文兵;孙毓忠;

    申请日2015-07-17

  • 分类号G06Q30/00(20120101);

  • 代理机构11006 北京律诚同业知识产权代理有限公司;

  • 代理人祁建国;梁挥

  • 地址 100190 北京市海淀区中关村科学院南路6号

  • 入库时间 2023-12-18 12:59:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-18

    授权

    授权

  • 2016-01-20

    实质审查的生效 IPC(主分类):G06Q30/00 申请日:20150717

    实质审查的生效

  • 2015-12-23

    公开

    公开

说明书

技术领域

本发明涉及电子商务及网上交易流程控制领域,具体涉及交易系统构建方 法、交易流程控制装置及第三方交易平台。

背景技术

随着信息技术,尤其是互联网技术的飞速发展,电子商务及网络支付已成 为人们现代生活中不可缺少的一部分,而电子商务公司纷纷推出自己的在线交 易方式和在线交易平台,这些平台的出现对在线交易的发展起到了重要的推动 作用。

然而交易系统的核心就是对交易流程的控制,随着交易方式的多样化,也 将需要越来越多的交易流程,针对不同订单交易流程的种类也越来越多,交易 系统的开发人员需要对不同的订单类型来处理相应的交易流程,这就使得交易 系统变的越来越复杂和庞大。

当前商业领域中运行的基于第三方交易的基本流程包括:

1)接受商户或用户提交的订单;

2)根据不同的订单类型来执行不同的流程控制,其中流程控制是由系统 开发人员按照不同的订单类型编写的,在需要执行流程中某个事务时,通过检 查订单类型来执行相应的操作;

然而现有的第三方交易平台存在如下缺点:

随着商户或用户对不同订单类型交易处理流程的需求越来越多,交易流程 控制也会变得越来越复杂。这就增加了交易系统设计人员的设计难度,增加了 订单处理逻辑的复杂性,对程序设计人员提出了更高的要求,并且使系统变得 越来越庞大,难以控制。

专利文献1(公开号为CN103745540A)公开了一种银行业务状态机自动 处理系统及其方法。所述系统包括:状态表维护单元,在状态表中预先存储各 项银行业务所对应的当前状态和下一状态的记录;状态检测单元,在银行业务 到达时自动检测所述银行业务的当前状态;记录查找单元,根据检测得出的所 述银行业务的所述当前状态,在所述状态表中查找相应的记录,并获取所述记 录中的下一状态;和状态更新单元,修改所述银行业务的所述当前状态为所述 记录中的下一状态。该发明所提供的系统和方法能够使得状态对程序透明,联 机程序中不再出现具体的某个状态,全部通过状态表来实现状态的可配置;应 用程序不必关心执行交易后记录会变成什么状态,只需要关心自身执行的操作, 简化程序,利于维护。

但上述发明的思路是公开了一种通过创建状态表来实现业务流程的控制, 其业务流程的控制预先存储于状态表中,当商户或用户对不同订单类型交易处 理流程的需求越来越多时,无法将新的订单类型以及控制流程写入状态表,无 法实现交易系统的自定义和可扩展。另外,本发明的发明人通过分析支付宝提 交的交易接口,在实现一个类似于支付宝的模拟平台时,发现在交易流程控制 时是通过判断订单状态来实现交易流程控制的,并且不同的订单类型需要不同 的处理流程。

发明内容

为了解决上述问题,本发明的目的在于,提供一种交易系统构建方法、交 易流程控制装置及第三方交易平台,通过构建一个完整的自动机,将状态及状 态转换的事务存储在自动机中来实现业务流程控制,可以更加灵活的创建不同 订单类型的交易流程,能够根据不同的订单类型定义不同的交易流程,从而实 现交易流程的自定义和可扩展,提高交易系统的可扩展性和灵活性。

本发明的交易系统构建方法,包括以下步骤:

步骤1,采集来自商户或用户的订单,并分析订单类型;

步骤2,查找数据库或文件中是否存在对应于所述订单类型的自动机,所 述自动机中包含交易流程的控制,如果存在,则基于已存在的自动机来执行交 易流程;如果不存在,则构建交易流程,并将所述交易流程构建为自动机,与 所述订单类型相关联后储存到所述数据库或文件中,基于该新构建的自动机来 执行交易流程。

本发明的交易系统构建方法,其中,所述步骤1进一步为:

为商户或用户提供下单接口,通过所述下单接口采集订单,并对所述订单 的参数及格式进行验证,如果验证成功则接收订单,如果验证失败则返回错误 代码。

本发明的交易系统构建方法,其中,所述步骤2中,所述自动机以文本编 码的形式存储于所述数据库或文件中。

本发明的交易系统构建方法,其中,所述步骤2中,当所述数据库或文件 中存在对应于所述订单类型的自动机时,进一步包括以下步骤:

步骤21,从所述数据库或文件中取出所述自动机的文本编码的副本,其 中所述自动机中包含交易流程的处理;

步骤22,将所述订单和所述自动机文本编码绑定后,一起存储在所述数 据库或文件中;

步骤23,对外提供一个接口,当商户或用户需要进行某项事务操作时, 会调用该接口,通过该接口实现交易流程的事务操作,其中交易事务表示一个 交易流程中的某项操作。

本发明的交易系统构建方法,其中,所述步骤23中,按如下步骤实现交 易流程的事务操作:

步骤231,根据当前的订单号从所述数据库或文件中取出该订单所对应的 自动机的文本编码,进行反序列化将其还原为自动机实例;

步骤232,通过该自动机实例执行一次事务处理;

步骤233,再次将该自动机实例反序列化为文本编码,并根据所述当前的 订单号将该自动机文本编码存储到所述数据库或文件中;

步骤234,返回订单当前状态给接口调用者,当返回的状态为终止状态时, 表示交易流程结束,如有错误则返回错误码;

步骤235,当商户或用户需要再次进行事务处理时跳转至步骤231。

本发明的交易系统构建方法,其中,预先存储多种事务类型,当所述数据 库或文件中不存在对应于所述订单类型的自动机时,根据商户或用户的需求创 建订单类型,然后按照商户所需交易流程选择事务类型来构建交易流程,并与 所述订单类型相关联后储存到所述数据库或文件中,基于该新构建的自动机来 执行交易流程。

本发明还涉及一种交易流程控制装置,包括管理模块和交易模块,

所述交易模块采集来自商户或用户的订单,并分析订单类型,查找数据库 或文件中是否存在对应于所述订单类型的自动机,所述自动机中包含交易流程 的控制,如果存在,则基于已存在的自动机来执行交易流程;如果不存在,则 由所述管理模块构建交易流程,所述交易模块将所述交易流程构建为自动机, 与所述订单类型相关联后储存到所述数据库或文件中,基于该新构建的自动机 来执行交易流程。

本发明的交易流程控制装置,其中,所述交易模块具有订单接收模块、订 单查询模块、订单关联模块、事务执行模块、以及终止判定模块,

所述订单接收模块接收来自商户或用户的订单,所述订单查询模块查找数 据库或文件中是否存在对应于所述订单类型的自动机,存在时,所述订单关联 模块将所述订单与所述自动机关联,并存储到所述数据库或文件中,当商户或 用户需要执行某项事务操作时,所述事务执行模块取出与所述订单相关联的自 动机,执行事务操作,执行完毕后,所述终止判定模块判断所述订单的状态为 终止状态时结束交易流程,否则将所述订单的状态返回给商户或用户。

本发明的交易流程控制装置,其中,所述管理模块具有流程定义模块,所 述交易模块还具有事务定义模块、流程验证模块及订单关联模块;

所述事务定义模块中预先存储有多种事务类型,当所述数据库或文件中不 存在对应于所述订单类型的自动机时,所述流程定义模块根据商户或用户的需 求创建订单类型,然后按照商户所需交易流程选择事务类型来构建交易流程, 并将所述交易流程提交给所述流程验证模块,所述流程验证模块验证所述交易 流程的可行性,如果验证成功,则所述订单关联模块将所述交易流程构建为自 动机并和订单类型相关联并储存到所述数据库或文件中;如果验证失败,则所 述流程定义模块从新构建并提交所述交易流程。

此外,本发明还涉及一种采用上述任一交易系统构建方法构建的第三方交 易平台。

本发明的效果如下:

(1)通过分析自动机原理将所有订单类型的交易流程进行抽象分析并将 所有的处理事务提供给管理模块,管理模块就可以自定义不同的交易流程,通 过该方法可以很大程度的解决现有交易系统中的缺点。

(2)能够提高交易的安全性,通过自动机来实现交易流程控制,自动机 是计算机科学的重要基石,它在软件开发领域内通常被称作有限状态机,是一 种应用非常广泛的软件设计模式。自动机已经被证明是绝对安全的,是由事件 驱动的,广泛应用于计算机领域的系统开发,通过状态转换来实现不同的事务 处理。

(3)能够降低交易系统的复杂性,对于交易系统来说,它只要提供自动 机的构建和实现不同事件的处理逻辑就行了,不用使用一般的流程处理方式, 使得处理逻辑清晰,交易系统只需要定义不同的事件处理事务,并暴露给管理 模块,管理模块针对不同的订单类型可以定义不同的交易流程,从而提高交易 系统的可扩展性和灵活性。

附图说明

图1是本发明的交易系统构建方法的流程图。

图2是是本发明的交易流程控制装置的构成图。

图3是本发明实施例的交易模块进行订单交易处理的流程图。

图4是本发明实施例的管理模块构建交易流程的流程图。

附图标记说明

1交易流程控制装置

2交易模块

3管理模块

21事务定义模块

22流程验证模块

23订单关联模块

24订单接收模块

25订单查询模块

26事务执行模块

27终止判定模块

31流程定义模块

M商户或用户

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本 发明的交易系统构建方法、交易流程控制装置及第三方交易平台进行进一步详 细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于 限定本发明。

本发明的交易系统构建方法如图1所示,该方法可用于生成第三方交易 平台,其基于自动机原理,通过将交易流程控制交由自动机来执行,也就是 说一个创建的自动机代表一个交易流程控制,借助自动机理论并按照不同的 订单类型来自定义不同的交易流程,再将所述交易流程构建为自动机,基于 该新构建的自动机来执行交易流程。

本发明中,需要为商户或用户提供下单的接口,当用户通过商城下单后, 商城通过下单接口提交订单,交易系统检查是否存在和此订单类型相关的自 动机文本编码,如果存在,则获取此自动机文本编码的副本并和订单相关联 储存到数据库或文件中。

本发明中,需要交易系统对外提供一个接口来实现交易流程的执行,当 商城或用户需要执行某项事务时(一个交易流程是由一些事务组成的),通 过调用此接口来执行一项事务处理,此过程会将需要执行事务处理订单的自 动机文本编码从数据库或文件中取出来,对此文本编码进行反序列化,从新 构建为一个自动机实例,并执行一次事务操作,执行完后,将当前状态返回 给接口的调用者并将此自动机实例序列化,存储到数据库或文件中,一次事 务操作结束。当返回的状态为终止状态时,则表示交易流程结束。

交易系统中预先存储有多种事务类型,当商城管理员需要某类订单的交 易流程时,商城管理员可以向交易系统提出说明,交易系统可以根据预先提 供的交易事务定义交易流程(其中每个事务都包含开始状态和结束状态,开 始转态和结束状态可以是初始转态和终止转态),并会验证整个交易流程的 可行性(所提交到交易模块的所有事务中必须包含一个初始转态和一个终止 转态),如果验证成功,则将交易流程构建为自动机实例并序列化为文本编 码,和订单类型相关联并储存到数据库或文件中。如果验证失败,则需要从 新定义交易流程。

本发明的交易系统构建方法的整体流程分为两个部分,一个是数据库或 文件中存在着对应于用户所提交的订单类型的自动机的情况,即订单的交易 流程处理,一个是数据库或文件中不存在对应于用户所提交的订单类型的自 动机的情况,即交易系统根据订单类型构建交易流程的步骤。他们之间的关 系属于生产和消费的关系。交易系统针对不同的订单类型创建不同的交易流 程,其中交易流程是由自动机来实现和控制的,而订单类型所对应的自动机 则是通过交易系统提供的事务类型来组成的。(一个交易流程是由一些事务 组成的,而一个交易流程代表一个自动机实例。)

通过将上述的两个流程结合起来,就可以构成本发明的交易系统构建方 法,通过使订单所需的交易流程由自动机来实现和规范,并由交易系统来定 义交易流程,则根据不同的订单类型就可以定义不同的交易流程,从而实现 交易流程的自定义和可扩展。

本发明的交易系统构建的具体方法,如下所述。

步骤1,采集订单。交易系统会给商户或用户提供一个下单接口,商户 或用户按照接口所需的格式(包括数字签名)和参数补齐后,提交给交易系 统,交易系统接收订单后会对参数及格式进行验证,如果验证成功则接收订 单,如果验证失败则返回错误代码;

步骤2,查找数据库或文件中是否存在对应于所述的订单类型的自动机, 当数据库或文件中存在对应于所述的订单类型的自动机时,执行如下步骤:

步骤21,获取自动机交易流程副本,通过检查接收到的订单类型从交 易系统的数据库或文件中获取相应的自动机副本,也就是此自动机的文本编 码,此自动机中包含交易流程的处理,如果不存在则返回错误代码。

步骤22,将订单与自动机相关联,从数据库或文件中按照订单类型取 出相关序列化后的文本编码副本,将此副本和此订单向关联并保存到数据库 或文件中。

步骤23,交易系统会对外提供一个接口,当商户或用户需要进行某项 事务操作时,会调用此接口,此接口需要一个参数,来通知自动机需要执行 的事务,通过此接口就可以实现交易流程的事务操作。

具体操作流程如下所示:

步骤231,根据当前的订单号从数据库或文件中取出订单所对应自动机 的文本编码,然后进行反序列化将其还原为自动机实例;

步骤232,检查自动机当前状态转向下一状态的(下一个状态可以有多 个)事务类型(当下一状态有n个时,那么对应的事务也必须有n个),其 中是否包含接口传过来的事务类型,如果有则,通过自动机执行一次事务处 理,如果没有则,返回错误代码;

步骤233,再次将自动机反序列化为文本编码,并根据订单号将此自动 机文本编码存储到数据库或文件中。

步骤234,给商户或用户返回订单当前状态,当返回的状态为终止状态 是则说明自动机所定义的交易处理流程结束,如有错误则返回错误码。

步骤235,当商户或用户需要再次进行事务处理时跳转到步骤231。

在上述交易系统构建方法中,当数据库或文件中不存在对应于所述的订 单类型的自动机时,则需要构建交易流程,并将所述交易流程构建为自动机, 与所述订单类型相关联后储存到所述数据库或文件中,基于该新构建的自动 机按照上述操作步骤来执行交易流程。

交易事务类型可以由交易系统开发者预先定义,并存于交易系统中,其 中一个事务代表一个交易处理流程中某项操作如确认付款,确认收货等。并 且事务中必须包括一个开始状态和一个结束状态。然后通过预先定义的事务 类型来构建交易流程自动机,可通过选择不同的事务类型(至少需要包含初 始状态和终止状态)来组织交易流程,之后验证该交易流程的可行性,当验 证成功后,构建合适的自动机用来执行具体的交易流程。构建交易流程的具 体步骤如下:

步骤10,创建一个根据商户的需求创建订单类型,此类型需在交易系 统中唯一。

步骤20,根据交易系统所提供的事务类型按照商户所需交易流程来选 择事务类型,并和订单类型相关联,他们之间的关系是一一对应的。

步骤30,验证此系统是否为可以构建为一个有向图,如果验证成功则 跳转到步骤40,如果失败则跳转到步骤20。

步骤40,验证有向图中每个节点是否可以到达终止状态节点,如果验 证成功跳转到步骤50,如果失败则跳转到步骤20.

步骤50,通过此有向图来构建自动机实例,(此自动机实例为所有此 订单类型的初始实例,当交易系统接收到的订单为此订单类型时,会将此订 单和此初始实例的拷贝相关联),将自动机实例和订单关联后,保存到数据 库或文件中,通过序列化和反序列化的方式来完成。

此外,本发明还提供一种交易流程控制装置1,如图2所示,该交易流 程控制装置包括交易模块2和管理模块3。交易模块2采集来自商户或用户 的订单,并分析订单类型,查找数据库或文件中是否存在对应于所述订单类型 的自动机,所述自动机中包含交易流程的控制,如果存在,则基于已存在的自 动机来执行交易流程;如果不存在,则由管理模块3构建交易流程,交易模块 2将该交易流程构建为自动机,与订单类型相关联后储存到数据库或文件中, 基于该新构建的自动机来执行交易流程。

本发明的交易流程控制装置1中,交易模块2具有订单接收模块24、订 单查询模块25、订单关联模块23、事务执行模块26、以及终止判定模块27; 订单接收模块23接收来自商户或用户的订单,订单查询模块25查找数据库或 文件中是否存在对应于所述订单类型的自动机,存在时,订单关联模块23将 所述订单与所述自动机关联,并存储到所述数据库或文件中,当商户或用户需 要执行某项事务操作时,事务执行模块26取出与所述订单相关联的自动机, 执行事务操作,执行完毕后,终止判定模块27判断所述订单的状态为终止状 态时结束交易流程,否则将所述订单的状态返回给商户或用户。具体流程图如 图3所示。

本发明的交易流程控制装置中,管理模块3具有流程定义模块31,交易 模块2还具有事务定义模块21及流程验证模块22;事务定义模块21中预先 存储有多种事务类型,当所述数据库或文件中不存在对应于所述订单类型的自 动机时,流程定义模块31根据商户或用户的需求创建订单类型,然后按照商 户所需交易流程选择事务类型来构建交易流程,并将该交易流程提交给流程验 证模块22,流程验证模块22验证该交易流程的可行性,如果验证成功,则订 单关联模块23将该交易流程构建为自动机并和订单类型相关联并储存到所述 数据库或文件中;如果验证失败,则流程定义模块31从新构建并提交所述交 易流程。具体流程如图4所示。

另外,本发明还提供一种第三方交易平台,其通过将交易流程构建为自 动机并与订单类型相关联来执行交易流程。

以下为本发明的一实施例,如下所示:

商户向管理模块提出需求:商户向管理模块提出对于某种新的订单类型 需要一种新的交易流程时,管理模块根据交易系统提供的事务类型来选择合 适的交易流程,当管理模块选定交易流程后提交给交易模块,交易模块会验 证此交易流程的可行性,如果验证成功则构建相应的自动机并将此自动机序 列化为文本编码和订单类型相关联存储在交易系统的数据库或文件中;如果 验证失败则让管理模块从新提交。

商户提交订单给交易模块:当交易系统中存在某个订单类型相对应的自 动机处理流程时,交易模块根据订单的交易类型从交易模块的数据库或文件 中取出相应的自动机文本编码副本并和订单向关联存储到数据库或文件中。

交易系统处理交易流程:交易模块会给交易的参与者提供统一的接口, 当某个商户或用户需要实现某项事务时,通过向该接口传递相关的事务类型 来进行事务操作。如:用户对某个订单需要进行付款时,该用户只需要调用 该接口并传递相应的付款事务类型即可。当完成某项事务操作时,该接口会 将订单当前状态和错误码返回给调用者,如果执行事务之前的状态和之后的 状态一致则说明此项事务操作失败,通过错误码可以获得失败原因,如果不 一致则说明操作成功,则当前状态为某项事务执行完后的状态,当状态为终 止状态时则表示该订单的交易流程结束。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号