CN111861649A - 处理订单的方法、装置、设备和计算机可读介质 - Google Patents

处理订单的方法、装置、设备和计算机可读介质 Download PDF

Info

Publication number
CN111861649A
CN111861649A CN202010645847.0A CN202010645847A CN111861649A CN 111861649 A CN111861649 A CN 111861649A CN 202010645847 A CN202010645847 A CN 202010645847A CN 111861649 A CN111861649 A CN 111861649A
Authority
CN
China
Prior art keywords
order
memory model
request message
memory
request
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.)
Pending
Application number
CN202010645847.0A
Other languages
English (en)
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
CCB Finetech Co 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 China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202010645847.0A priority Critical patent/CN111861649A/zh
Publication of CN111861649A publication Critical patent/CN111861649A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/03Credit; Loans; Processing thereof

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了处理订单的方法、装置、设备和计算机可读介质,涉及计算机技术领域。该方法的一具体实施方式包括:解析订单请求报文获知订单信息;将所述订单信息转换为内存模型,并存储在内存,所述内存模型包括订单管理类和支付退款管理类;校验所述内存模型中的金额、收款方和付款方,所述内存模型校验通过后,将所述订单信息持久化到数据库。该实施方式能够提高校验订单的效率。

Description

处理订单的方法、装置、设备和计算机可读介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种处理订单的方法、装置、设备和计算机可读介质。
背景技术
随着互联网技术的发展,越来越多用户通过网络购买多种多样的商品。商户采用银企直连,借助银行完成涉及商品货款清算的交易流程。
银企直连是银行为用户提供的与商户网上银行系统联接的一种方式,其由网络实现了银行与商户内部系统的联网对接。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:在涉及商品货款清算的交易流程中,校验订单的效率较低。
发明内容
有鉴于此,本发明实施例提供一种处理订单的方法、装置、设备和计算机可读介质,能够提高校验订单的效率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种处理订单的方法,包括:
解析订单请求报文获知订单信息;
将所述订单信息转换为内存模型,并存储在内存,所述内存模型包括订单管理类和支付退款管理类;
校验所述内存模型中的金额、收款方和付款方,所述内存模型校验通过后,将所述订单信息持久化到数据库。
所述将所述订单信息转换为内存模型,并存储在服务器内存之前,还包括:
锁定请求对象,所述请求对象包括所述订单请求报文的一种或多种类型,所述类型包括下单、支付和退款。
所述订单请求报文是下单请求报文;
所述将所述订单信息转换为内存模型,并存储在内存,包括:
将所述订单信息转换为内存模型,并存储在内存;
利用数据库序列生成合约订单号。
所述订单请求报文包括主子订单下单请求报文,所述主子订单下单请求报文包括主订单信息和子定位信息;
所述校验所述内存模型中的金额、收款方和付款方,包括:
校验所述主订单信息中的金额、所述子订单信息中的金额、所述主订单信息中的收款方、所述子订单信息中的收款方、所述主订单信息中的付款方和所述子订单信息中的付款方。
所述订单请求报文是支付请求报文或退款请求报文;
所述将所述订单信息转换为内存模型,并存储在内存,包括:
锁定请求对象,所述请求对象包括所述订单请求报文的合约订单号;
将所述订单信息转换为内存模型,并存储在内存。
所述锁定请求对象,包括:
将redis数据库锁中的键值对增加到redis数据库,以锁定请求对象,所述键值对中的主键是基于所述订单信息中的合约订单号生成的。
所述锁定请求对象,包括:
将合约订单号对应的键值对,插入至数据库表中,以锁定请求对象,所述数据库表属于oracle数据库。
所述将合约订单号对应的键值对,插入至数据库表中,以锁定请求对象,包括:
将合约订单号对应的键值对,插入至数据库表中,未收到报错信息,以锁定请求对象。
所述将合约订单号对应的键值对,插入至数据库表中,以锁定请求对象,以锁定请求对象,包括:
将合约订单号对应的键值对,插入至数据库表中,收到报错信息,确定锁定请求对象的失效时间早于当前时间;
按照当前时间更新所述失效时间,以锁定请求对象。
所述订单请求报文是支付请求报文或退款请求报文;
所述校验所述内存模型中的金额、收款方和付款方,包括:
校验所述内存模型中的金额、收款方和付款方,所述校验包括重复校验和/或超时校验。
所述订单请求报文包括支付请求报文,所述支付请求报文包括全部支付请求或部分支付请求。
所述订单请求报文包括退款请求报文,所述退款请求报文包括全部退款请求或部分退款请求。
根据本发明实施例的第二方面,提供了一种处理订单的装置,包括:
解析模块,用于解析订单请求报文获知订单信息;
转换模块,用于将所述订单信息转换为内存模型,并存储在内存,所述内存模型包括订单管理类和支付退款管理类;
存储模块,用于校验所述内存模型中的金额、收款方和付款方,所述内存模型校验通过后,将所述订单信息持久化到数据库。
根据本发明实施例的第三方面,提供了一种处理订单的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的方法。
根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述的方法。
上述发明中的一个实施例具有如下优点或有益效果:解析订单请求报文获知订单信息;将订单信息转换为内存模型,并存储在内存,内存模型包括订单管理类和支付退款管理类;校验内存模型中的金额、收款方和付款方,内存模型校验通过后,将订单信息持久化到数据库。将订单信息转换为内存模型,不同的硬件和操作系统无需重复编写代码,就可以访问内存模型,达到内存访问的一致性,因而提高校验订单的效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是目前处理订单的流程示意图;
图2是根据本发明实施例的处理订单的方法的主要流程的示意图;
图3是根据本发明实施例的内存模型对应的类图;
图4是根据本发明实施例的锁接口类的示意图;
图5是根据本发明实施例的接口类所包括抽象方法的示意图;
图6是根据本发明实施例的Oracle数据锁的加锁流程示意图;
图7是根据本发明实施例的Oracle数据锁的解锁流程示意图;
图8是根据本发明实施例的处理订单的装置的主要结构的示意图;
图9是本发明实施例可以应用于其中的示例性系统架构图;
图10是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
目前,在涉及商品货款清算的交易流程中,可以采用如下的方案:
处理通过银企直连发送来的订单请求报文,解析并完成下单、支付和退款功能的处理,并返回处理结果。
参见图1,图1是目前处理订单的流程示意图,具体以下步骤:
1、订单请求报文
通过银企直连渠道发送订单请求报文。
2、报文转换
经交换平台的第一次报文转换,到达后端服务器。
3、报文格式校验。
后端服务器对订单请求报文进行格式校验,并校验成功。
4、解析和转换报文。
后端服务器解析并转换校验成功的报文。
5、规则校验。
后端服务器与Oracle数据库交互,进行逻辑校验。
6、持久化数据库。
后端服务器与Oracle数据库交互,存储信息。
7、返回处理结果
后端服务器返回报文的处理结果
在上述方案中,虽然能够处理订单,但是对于不同的交易场景,不同的代码难以复用,开发成本非常高。而且在下单请求报文高并发的情况下,与数据库库交互次数多,导致交易耗时直线增长。
综上,在涉及商品货款清算的交易流程中,校验订单的效率较低。
为了解决校验订单的效率较低的技术问题,可以采用以下本发明实施例中的技术方案。
参见图2,图2是根据本发明实施例的处理订单的方法主要流程的示意图,将订单信息转换为内存模型,并进行校验,以持久化到数据库。如图2所示,具体包括以下步骤:
S201、解析订单请求报文获知订单信息。
在涉及商品货款清算的交易流程中,通过银企直连渠道发送来的订单请求报文,经交换平台转换,到达后端服务器。后端服务器对转换后的报文进行格式校验,然后解析校验成功的报文,进而获知订单信息。
订单信息是订单请求报文中涉及订单的相关信息。作为一个示例,订单信息可以包括金额、收款方和付款方。
S202、将订单信息转换为内存模型,并存储在内存,内存模型包括订单管理类和支付退款管理类。
内存模型可以称为java内存模型,用来屏蔽掉java程序在各种不同的硬件和操作系统对内存的访问的差异,这样就可以实现java程序在各种不同的平台上都能达到内存访问的一致性。
将订单信息转换为内存模型,不同平台的订单请求报文都可以访问内存模型,并不涉及到重新编辑代码的问题,即便于参数的传递,订单请求报文涉及数据存储在内存中,其他程序可以随时获取。此外,统一的内存模型存储时更方便,便于持久化操作。
具体来说,将订单信息转换为内存模型,并存储在内存而不是存储在数据库中,便于从内存中直接获取订单信息,而无需通过数据库获取订单信息。
在本发明实施例中,内存模型包括订单管理类和支付退款管理类。也就是说,内存模型通过订单管理类可以执行下单,通过支付退款管理类可以执行支付或退款。
参见图3,图3是根据本发明实施例的内存模型对应的类图。其中,内存模型中包括支付和订单管理中心类。支付和订单管理中心类下属支付退款管理类和订单管理类。支付退款管理类下属记账信息管理类。订单管理类下属子订单信息管理类。可以理解的是,内存模型包括订单管理类和支付退款管理类。
在本发明的一个实施例中,订单请求报文是下单请求报文的情况下,将订单信息转换为内存模型,存储在内存,并利用数据库序列生成合约订单号。
合约订单号是创建订单时生成的系统订单表的主键,用于标识订单的唯一性。在支付和退款中,也需要依据合约订单号进行处理。
作为一个示例,合约订单号是由订单类型、合约订单号生成时间和数字序列组成。其中,由数据库序列生成数字序列。其中,订单类型包括下单、支付和退款。
在本发明的一个实施例中,申请人在实践中发现,在下单请求报文高并发的情况下,订单状态混乱,导致处理订单的效率急剧下降。
作为一个示例,在第一时间点,订单请求报文包括合约订单号1的订单涉及支付;在第二时间点,另一个订单请求报文包括合约订单号1的订单涉及退款。由于上述两个订单请求报文涉及同一个合约订单号,导致同一个合约订单号的订单混乱,在短时间点内难以及时处理合约订单号1涉及的订单请求报文。
在本发明实施例中,可以按照交易类型锁定请求对象,以交易类型进行锁定。即,可以通过数据库锁,锁定请求对象。可以理解的是,请求对象包括订单请求报文的一种或多种类型,类型包括下单、支付和退款。
这样,在锁定某种类型的订单请求报文后,只有在某种类型的订单请求报文处理完成后,才能处理另一种类型的订单请求报文。
在本发明实施例中,可以按照合约订单号锁定请求对象,即从订单维度进行锁定。由于在订单请求报文是下单请求报文的情况下,还未生成合约订单号,因此按照合约订单号锁定请求对象,并不包括锁定下单请求报文。
即,订单请求报文是支付请求报文或退款请求报文的情况下,锁定请求对象,请求对象包括订单请求报文的合约订单号;然后,将订单信息转换为内存模型,并存储在内存。
在本发明的一个实施例中,支付请求报文包括全部支付请求或部分支付请求。
在本发明的一个实施例中,退款请求报文包括全部退款请求或部分退款请求。
这样,在锁定支付请求报文或退款请求报文的情况,只有在支付请求报文或退款请求报文处理完成后,才能处理合约订单号的另一个请求报文。
在本发明实施例中,针对于不同的数据库可以采用不同的数据库锁。对于redis数据库采用redis数据锁;对于Oracle数据采用Oracle数据锁。
参见图4,图4是根据本发明实施例的锁接口类的示意图。其中,锁接口类包括redis锁实现类,以及Oracle锁实现类。
参见图5,图5是根据本发明实施例的接口类所包括抽象方法的示意图。其中,IRedisRepository是接口类,含有基本的抽象方法。
可以理解的是,需要在将订单信息转换为内存模型之前,锁定请求对象。
下面说明redis数据锁。
在本发明的一个实施例中,将redis数据库锁中的键值对增加到redis数据库,以锁定请求对象,键值对中的主键是基于订单信息中的合约订单号生成的。
如果redis数据库中存在相同的键值对,则说明该请求对象已被锁定;如果redis数据库中不存在相同的键值对,则说明该请求对象未被锁定。
作为一个示例,键值对中的主键可以是:产品组件+类型+下划线+合约订单号,如:pecf-prod-app.ARORDER_NO_31201911010001。键值对中的值可以是25位的全局跟踪号。其中,全局跟踪号可以预先设置。
下面说明Oracle数据锁。
Oracle数据库通过数据库表和键值对进行加锁和解锁,键值对的主键是基于订单类型和合约订单号生成的,键值对中的值是25位的全局跟踪号。其中,全局跟踪号可以预先设置。
参见图6,图6是根据本发明实施例的Oracle数据锁的加锁流程示意图,具体包括:
S601、在数据库中插入键值对。
将合约订单号对应的键值对,插入至数据库表中,数据库表属于oracle数据库。
S602、是否收到报错信息。
若收到报错信息,则说明该键值对对应的请求对象已加锁,则执行S603;若未收到报错信息,则说明该键值对对应的请求对象未加锁,则可以锁定请求对象。
S603、判断锁定请求对象的失效时间是否早于当前时间。
判断锁定请求对象的失效时间早于当前时间,可以按照当前时间更新失效时间,以锁定请求对象。这样确保请求对象锁定时间的延长。
判断锁定请求对象的失效时间不早于当前时间,则结束。
可以理解的是,上述步骤可以总结为:
将合约订单号对应的键值对,插入至数据库表中,未收到报错信息,以锁定请求对象。
将合约订单号对应的键值对,插入至数据库表中,收到报错信息。确定锁定请求对象的失效时间早于当前时间,可以按照当前时间更新失效时间,以锁定请求对象。
在图6的实施例中,通过在数据库表中插入键值对,锁定请求对象。而且还可以及时更新失效时间,进而控制处理订单的进度。
参见图7,图7是根据本发明实施例的Oracle数据锁的解锁流程示意图,具体包括:
S701、判断数据库表中是否存在键值对。
基于键值对搜索数据库表,以判断数据库表中是否存在键值对。数据库表中不存在搜索的键值对,则说明键值对的请求对象并未锁定,则结束;数据库表中存在搜索的键值对,则说明键值对的请求对象已锁定,执行S702。
S702、判断键值对中的全局跟踪号是否与当前全局跟踪号相同。
当前全局跟踪号,是搜索键值对中的全局跟踪号。判断数据库表中键值对中的全局跟踪号,是否与搜索键值对中的全局跟踪号相同,若相同,则可以解锁请求对象;若不相同,则结束。
在图7的实施例中,通过键值对可以解锁请求对象。
S203、校验内存模型中的金额、收款方和付款方,内存模型校验通过后,将订单信息持久化到数据库。
在本发明实施例中,校验的目的是:验证订单请求报文中数据的合理性。若订单请求报文中数据的不合理,则无需继续处理;若订单请求报文中数据的合理,则继续处理。
具体来说,可以校验内存模型中的金额、收款方和付款方,内存模型校验通过后,才能将订单信息持久化到数据库。
在本发明的一个实施例中,订单请求报文包括主子订单下单请求报文,即主子订单下单请求报文包括主订单信息和子定位信息。
那么,需要校验主订单信息中的金额、子订单信息中的金额、主订单信息中的收款方、子订单信息中的收款方、主订单信息中的付款方和子订单信息中的付款方。
具体来说,需要校验主订单信息中的金额是否与所有子订单信息中的金额总值相等;主订单信息中的收款方包括子订单信息中的收款方;主订单信息中的付款方包括子订单信息中的付款方。
在本发明的一个实施例中,可以采用重复校验和/或超时校验,校验内存模型中的金额、收款方和付款方。
具体来说,重复校验是指在一段时间内,进行多次校验,多次校验后均成功,则通过重复校验。
超时校验是指校验所花费时间需要小于预设时间阈值。若校验所花费时间需要小于等于预设时间阈值,则通过超时校验;校验所花费时间需要大于预设时间阈值,则未通过超时校验。
在上述实施例中,解析订单请求报文获知订单信息;将订单信息转换为内存模型,并存储在内存,内存模型包括订单管理类和支付退款管理类;校验内存模型中的金额、收款方和付款方,内存模型校验通过后,将订单信息持久化到数据库。将订单信息转换为内存模型,不同的硬件和操作系统无需重复编写代码,就可以访问内存模型,达到内存访问的一致性,因而提高校验订单的效率。
此外,通过锁定请求对象,能够在下单请求报文高并发的情况下,保障订单的处理,提高处理订单的效率。
参见图8,图8是根据本发明实施例的处理订单的装置的主要结构的示意图,处理订单的装置可以实现处理订单的方法,如图8所示,处理订单的装置具体包括:
解析模块801,用于解析订单请求报文获知订单信息。
转换模块802,用于将所述订单信息转换为内存模型,并存储在内存,所述内存模型包括订单管理类和支付退款管理类。
存储模块803,用于校验所述内存模型中的金额、收款方和付款方,所述内存模型校验通过后,将所述订单信息持久化到数据库。
在本发明的一个实施例中,转换模块802,还用于锁定请求对象,所述请求对象包括所述订单请求报文的一种或多种类型,所述类型包括下单、支付和退款。
在本发明的一个实施例中,订单请求报文是下单请求报文;
转换模块802,具体用于将所述订单信息转换为内存模型,并存储在内存;
利用数据库序列生成合约订单号。
在本发明的一个实施例中,所述订单请求报文包括主子订单下单请求报文,所述主子订单下单请求报文包括主订单信息和子定位信息;
存储模块803,具体用于校验所述主订单信息中的金额、所述子订单信息中的金额、所述主订单信息中的收款方、所述子订单信息中的收款方、所述主订单信息中的付款方和所述子订单信息中的付款方。
在本发明的一个实施例中,所述订单请求报文是支付请求报文或退款请求报文;
转换模块802,还用于锁定请求对象,所述请求对象包括所述订单请求报文的合约订单号;
将所述订单信息转换为内存模型,并存储在内存。
在本发明的一个实施例中,转换模块802,还用于将redis数据库锁中的键值对增加到redis数据库,以锁定请求对象,所述键值对中的主键是基于所述订单信息中的合约订单号生成的。
在本发明的一个实施例中,转换模块802,还用于将合约订单号对应的键值对,插入至数据库表中,以锁定请求对象,所述数据库表属于oracle数据库。
在本发明的一个实施例中,转换模块802,具体用于将合约订单号对应的键值对,插入至数据库表中,未收到报错信息,以锁定请求对象。
在本发明的一个实施例中,转换模块802,具体用于将合约订单号对应的键值对,插入至数据库表中,收到报错信息,确定锁定请求对象的失效时间早于当前时间;
按照当前时间更新所述失效时间,以锁定请求对象。
在本发明的一个实施例中,所述订单请求报文是支付请求报文或退款请求报文;
存储模块803,具体用于校验所述内存模型中的金额、收款方和付款方,所述校验包括重复校验和/或超时校验。
在本发明的一个实施例中,所述订单请求报文包括支付请求报文,所述支付请求报文包括全部支付请求或部分支付请求。
在本发明的一个实施例中,所述订单请求报文包括退款请求报文,所述退款请求报文包括全部退款请求或部分退款请求。
图9示出了可以应用本发明实施例的处理订单的方法或处理订单的装置的示例性系统架构900。
如图9所示,系统架构900可以包括终端设备901、902、903,网络904和服务器905。网络904用以在终端设备901、902、903和服务器905之间提供通信链路的介质。网络904可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备901、902、903通过网络904与服务器905交互,以接收或发送消息等。终端设备901、902、903上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备901、902、903可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器905可以是提供各种服务的服务器,例如对用户利用终端设备901、902、903所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的处理订单的方法一般由服务器905执行,相应地,处理订单的装置一般设置于服务器905中。
应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图10,其示出了适于用来实现本发明实施例的终端设备的计算机系统1000的结构示意图。图10示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
解析订单请求报文获知订单信息;
将所述订单信息转换为内存模型,并存储在内存,所述内存模型包括订单管理类和支付退款管理类;
校验所述内存模型中的金额、收款方和付款方,所述内存模型校验通过后,将所述订单信息持久化到数据库。
根据本发明实施例的技术方案,解析订单请求报文获知订单信息;将订单信息转换为内存模型,并存储在内存,内存模型包括订单管理类和支付退款管理类;校验内存模型中的金额、收款方和付款方,内存模型校验通过后,将订单信息持久化到数据库。将订单信息转换为内存模型,不同的硬件和操作系统无需重复编写代码,就可以访问内存模型,达到内存访问的一致性,因而提高校验订单的效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (15)

1.一种处理订单的方法,其特征在于,包括:
解析订单请求报文获知订单信息;
将所述订单信息转换为内存模型,并存储在内存,所述内存模型包括订单管理类和支付退款管理类;
校验所述内存模型中的金额、收款方和付款方,所述内存模型校验通过后,将所述订单信息持久化到数据库。
2.根据权利要求1所述处理订单的方法,其特征在于,所述将所述订单信息转换为内存模型,并存储在服务器内存之前,还包括:
锁定请求对象,所述请求对象包括所述订单请求报文的一种或多种类型,所述类型包括下单、支付和退款。
3.根据权利要求1所述处理订单的方法,其特征在于,所述订单请求报文是下单请求报文;
所述将所述订单信息转换为内存模型,并存储在内存,包括:
将所述订单信息转换为内存模型,并存储在内存;
利用数据库序列生成合约订单号。
4.根据权利要求1所述处理订单的方法,其特征在于,所述订单请求报文包括主子订单下单请求报文,所述主子订单下单请求报文包括主订单信息和子定位信息;
所述校验所述内存模型中的金额、收款方和付款方,包括:
校验所述主订单信息中的金额、所述子订单信息中的金额、所述主订单信息中的收款方、所述子订单信息中的收款方、所述主订单信息中的付款方和所述子订单信息中的付款方。
5.根据权利要求1所述处理订单的方法,其特征在于,所述订单请求报文是支付请求报文或退款请求报文;
所述将所述订单信息转换为内存模型,并存储在内存,包括:
锁定请求对象,所述请求对象包括所述订单请求报文的合约订单号;
将所述订单信息转换为内存模型,并存储在内存。
6.根据权利要求2或5所述处理订单的方法,其特征在于,所述锁定请求对象,包括:
将redis数据库锁中的键值对增加到redis数据库,以锁定请求对象,所述键值对中的主键是基于所述订单信息中的合约订单号生成的。
7.根据权利要求2或5所述处理订单的方法,其特征在于,所述锁定请求对象,包括:
将合约订单号对应的键值对,插入至数据库表中,以锁定请求对象,所述数据库表属于oracle数据库。
8.根据权利要求7所述处理订单的方法,其特征在于,所述将合约订单号对应的键值对,插入至数据库表中,以锁定请求对象,包括:
将合约订单号对应的键值对,插入至数据库表中,未收到报错信息,以锁定请求对象。
9.根据权利要求7所述处理订单的方法,其特征在于,所述将合约订单号对应的键值对,插入至数据库表中,以锁定请求对象,以锁定请求对象,包括:
将合约订单号对应的键值对,插入至数据库表中,收到报错信息,确定锁定请求对象的失效时间早于当前时间;
按照当前时间更新所述失效时间,以锁定请求对象。
10.根据权利要求1所述处理订单的方法,其特征在于,所述订单请求报文是支付请求报文或退款请求报文;
所述校验所述内存模型中的金额、收款方和付款方,包括:
校验所述内存模型中的金额、收款方和付款方,所述校验包括重复校验和/或超时校验。
11.根据权利要求1所述处理订单的方法,其特征在于,所述订单请求报文包括支付请求报文,所述支付请求报文包括全部支付请求或部分支付请求。
12.根据权利要求1所述处理订单的方法,其特征在于,所述订单请求报文包括退款请求报文,所述退款请求报文包括全部退款请求或部分退款请求。
13.一种处理订单的装置,其特征在于,包括:
解析模块,用于解析订单请求报文获知订单信息;
转换模块,用于将所述订单信息转换为内存模型,并存储在内存,所述内存模型包括订单管理类和支付退款管理类;
存储模块,用于校验所述内存模型中的金额、收款方和付款方,所述内存模型校验通过后,将所述订单信息持久化到数据库。
14.一种处理订单的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-12中任一所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-12中任一所述的方法。
CN202010645847.0A 2020-07-07 2020-07-07 处理订单的方法、装置、设备和计算机可读介质 Pending CN111861649A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010645847.0A CN111861649A (zh) 2020-07-07 2020-07-07 处理订单的方法、装置、设备和计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010645847.0A CN111861649A (zh) 2020-07-07 2020-07-07 处理订单的方法、装置、设备和计算机可读介质

Publications (1)

Publication Number Publication Date
CN111861649A true CN111861649A (zh) 2020-10-30

Family

ID=73152426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010645847.0A Pending CN111861649A (zh) 2020-07-07 2020-07-07 处理订单的方法、装置、设备和计算机可读介质

Country Status (1)

Country Link
CN (1) CN111861649A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455540A (zh) * 2012-05-29 2013-12-18 Sap股份公司 从数据仓库模型生成内存模型的系统和方法
US20170352090A1 (en) * 2015-08-05 2017-12-07 Tencent Technology (Shenzhen) Company Limited Method, apparatus, and system for processing order information
CN108255708A (zh) * 2017-12-14 2018-07-06 海尔优家智能科技(北京)有限公司 测试环境中访问生产文件的方法、装置、存储介质及设备
CN111105224A (zh) * 2019-11-13 2020-05-05 泰康保险集团股份有限公司 支付反馈信息的处理方法、装置、电子设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455540A (zh) * 2012-05-29 2013-12-18 Sap股份公司 从数据仓库模型生成内存模型的系统和方法
US20170352090A1 (en) * 2015-08-05 2017-12-07 Tencent Technology (Shenzhen) Company Limited Method, apparatus, and system for processing order information
CN108255708A (zh) * 2017-12-14 2018-07-06 海尔优家智能科技(北京)有限公司 测试环境中访问生产文件的方法、装置、存储介质及设备
CN111105224A (zh) * 2019-11-13 2020-05-05 泰康保险集团股份有限公司 支付反馈信息的处理方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US20200218737A1 (en) Method, system and program product for matching of transaction records
US11257134B2 (en) Supplier invoice reconciliation and payment using event driven platform
US9633321B2 (en) Systems and methods for facilitating call request aggregation over a network
CN111857888B (zh) 一种交易处理方法及装置
CN111427971B (zh) 用于计算机系统的业务建模方法、装置、系统和介质
CN111861745B (zh) 一种业务风控方法和装置
CN113205402A (zh) 对账方法、装置、电子设备及计算机可读介质
CN112184240A (zh) 一种退款请求处理方法和装置
CN111881329A (zh) 一种账户余额管理方法和系统
CN111382279A (zh) 审单方法和装置
CN111339743B (zh) 一种账号生成的方法和装置
CN111833066A (zh) 一种账户授权的方法、装置及系统
CN110705981B (zh) 一种实时结算的方法和装置
CN110782310B (zh) 从第三方平台异步获取用户属性信息的方法、装置和系统
CN111724245A (zh) 一种信用卡融资方法和系统
CN115391343A (zh) 账单数据处理方法、装置、电子设备和存储介质
CN115330540A (zh) 一种处理交易数据的方法和装置
CN111861649A (zh) 处理订单的方法、装置、设备和计算机可读介质
CN114997977B (zh) 一种数据处理方法、装置、电子设备及计算机可读介质
CN113778959B (zh) 数据处理的方法、装置、设备和计算机可读介质
CN112950380B (zh) 一种基于区块链的交易一致性的处理方法和装置
CN113971007B (zh) 信息处理方法、装置、电子设备及介质
CN111291038B (zh) 一种数据查询方法及装置
CN114969082A (zh) 处理业务数据的方法、装置、设备和计算机可读介质
CN115619550A (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
TA01 Transfer of patent application right

Effective date of registration: 20220922

Address after: 25 Financial Street, Xicheng District, Beijing 100033

Applicant after: CHINA CONSTRUCTION BANK Corp.

Address before: 25 Financial Street, Xicheng District, Beijing 100033

Applicant before: CHINA CONSTRUCTION BANK Corp.

Applicant before: Jianxin Financial Science and Technology Co.,Ltd.

TA01 Transfer of patent application right