CN108009883A - 用于订单处理的方法及装置 - Google Patents
用于订单处理的方法及装置 Download PDFInfo
- Publication number
- CN108009883A CN108009883A CN201711242408.XA CN201711242408A CN108009883A CN 108009883 A CN108009883 A CN 108009883A CN 201711242408 A CN201711242408 A CN 201711242408A CN 108009883 A CN108009883 A CN 108009883A
- Authority
- CN
- China
- Prior art keywords
- order
- data
- database
- specified
- logic
- 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
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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开一种用于订单处理的方法及装置。涉及计算机信息处理领域,该方法包括:获取待处理的多个订单,所述多个订单中的至少部分订单间存在相关关系;根据订单的第一选定字段确定分库逻辑;根据订单的第二选定字段确定分表逻辑;通过所述分库逻辑将所述多个订单中的每一个订单分配到指定数据库,所述指定数据库为多个数据库其中之一;以及在所述指定数据库中,通过所述分表逻辑将所述订单分配到指定数据表,所述指定数据表为多个数据表其中之一。本发明实施例公开的用于订单处理的方法及装置,能够减轻核心数据库的存储压力和接口的使用频率。
Description
技术领域
本发明实施例涉及计算机信息处理领域,具体而言,涉及一种用于订单处理的方法及装置。
背景技术
随着互联网技术的发展网上购物的数量和种类日益增多,随着而来产生了大量的订单产品,一般情况下,不同种类以及日期的订单会被存储在不同的数据库中,而这些订单之间又存在着某些关系,在需要按照某种规则将这些在不同的数据库中的存在关联关系的订单数据进行快速高效整理和汇总时,经常会涌现大量的问题。可例如,在保险行业中,人们越来越重视给自己和家人购买各种保险产品,互联网保险系统的数据量与日俱增。仅对于一个保险产品的一个表来说,每天产生的表单数目就可高达几百万个。在拥有如此庞大的数据量的系统中,想要查询某一个用户的明细数据、实现财务对账、累和数据就变得相当困难。
传统的方案是使用flag标志来标识当前已经处理的数据,以个人为单位进行合单,在系统中为每个人建立一张关联表,存储该人的汇总保单与所有小保单的关联关系。由于互联网保险的用户数量巨大,可高达千万级别,因此使用这种方法,在合单之后需要维护每个人的汇总保单与各个小保单的关联关系,维护难度很大,容易出现错误。在修改标识位时,需要与核心数据库系统进行频繁交互,所需要的数据库操作时间长,对数据库的压力大,用户体验差,同时对服务器的配置要求比较高。
另一种传统方案是将所有数据直接通过分库分表进行存储,不进行合单,在查询和修改时直接与核心系统进行交互。容易理解,这种方案的弊端在于:与核心数据库系统交互过于频繁,对核心数据库系统压力大;不利于直接在数据层进行运行维护,需要使用专门的统计程序进行统计运维。
因此,需要一种新的用于订单处理的方法及装置。
在所述背景技术部分公开的上述信息仅用于加强对本发明实施例的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明实施例提供一种用于订单处理的方法及装置,能够减轻核心数据库的存储压力和接口的使用频率。
本发明实施例的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明实施例的实践而习得。
根据本发明实施例的一方面,提出一种用于订单处理的方法,该方法包括:获取待处理的多个订单,所述多个订单中的至少部分订单间存在相关关系;根据订单的第一选定字段确定分库逻辑;根据订单的第二选定字段确定分表逻辑;通过所述分库逻辑将所述多个订单中的每一个订单分配到指定数据库,所述指定数据库为多个数据库其中之一;以及在所述指定数据库中,通过所述分表逻辑将所述订单分配到指定数据表,所述指定数据表为多个数据表其中之一。
在本公开的一种示例性实施例中,还包括:在将所述订单分配到所述指定数据表之后,将所述多个数据库中的订单进行汇总处理。
在本公开的一种示例性实施例中,还包括:在确定分库逻辑之前,通过订单的数量确定数据库的数量与数据表的数量。
在本公开的一种示例性实施例中,将订单的编号中的基础字段作为所述第一选定字段与所述第二选定字段。
在本公开的一种示例性实施例中,所述通过所述分库逻辑将所述多个订单中的每一个订单分配到指定数据库,包括:通过所述分库逻辑将所述订单的编号中的所述第一选定字段进行第一取模操作;通过所述第一取模操作的余数确定待分配的指定数据库;以及将所述待处理的订单分配到所述指定数据库中。
在本公开的一种示例性实施例中,所述在所述指定数据库中,通过所述分表逻辑将所述订单分配到指定数据表,包括:将所述订单的编号中的所述第二选定字段进行第二取模操作;通过所述第二取模操作的余数确定待分配的指定数据表;以及在所述指定数据库中,将所述待处理的订单分配到所述指定数据表中。
在本公开的一种示例性实施例中,所述将所述多个数据库中的订单进行汇总处理,包括:通过多线程处理将将所述多个数据库中的订单进行汇总处理。
在本公开的一种示例性实施例中,所述将所述多个数据库中的订单进行汇总处理,包括:将每一个数据库中的订单按照预定日期进行分组,生成分组数据;将每一个数据库中的所述分组数据进行汇总处理,生成分库数据;以及将所述多个数据库中的所述分库数据进行累加,获取汇总数据。
在本公开的一种示例性实施例中,在汇总处理之后,以所述预定日期的所述汇总数据为基础对新加入的订单进行订单汇总处理。
在本公开的一种示例性实施例中,所述数据库的数量与所述数据表的数量为2的指数。
根据本发明实施例的一方面,提出一种用于订单处理的装置,该装置包括:订单模块,用于获取待处理的多个订单,所述多个订单中的至少部分订单间存在相关关系;第一逻辑模块,用于根据订单的第一选定字段确定分库逻辑;第二逻辑模块,用于根据订单的第二选定字段确定分表逻辑;分库模块,用于通过所述分库逻辑将所述多个订单中的每一个订单分配到指定数据库,所述指定数据库为多个数据库其中之一;以及分表模块,用于在所述指定数据库中,通过所述分表逻辑将所述订单分配到指定数据表,所述指定数据表为多个数据表其中之一。
根据本发明的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本发明的一方面,提出一种计算机可读介质,其上存储有计算机程序,其特征在于,程序被处理器执行时实现如上文中的方法。
根据本发明实施例的用于订单处理的方法及装置,通过选定的字段与逻辑,对大量的订单数据进行分库分表操作,能够尽量均匀的将含有相关关系的订单存储在同一个数据库中,利用合单逻辑进行分库分表的方式能够实现快速高效的数据存储及其查询操作,减少系统交互,减少对各个系统的压力,而且能够减轻后续访问核心数据库的时候产出存储压力和接口的使用频率。
根据本发明实施例的用于订单处理的方法及装置,通过将含有相关关系的订单进行分库分表操作,以使得含有相关关系的订单存储在同一个数据库中的同一个表中,进而进行订单汇总的方式,能够实现用户功能、业务功能的数据分离,满足双方需求。同时合单逻辑简单方便,减少很多数据逻辑的操作,并且是的运维更加方便快捷,并且,合单按照日期为基准,不必要再维护每个合单后以及合单前的小保单的关联关系,极大的减少数据存储的量和维护成本。
根据本发明实施例的用于订单处理的方法及装置,能够解决互联保险大数据量的处理问题,快速准确,能够解决大数据量的存储问题,同时对核心的压力很小,交互次数也很少,能够大数据业务数据的保监上报及其财务等问题,而且不需要维护数据量巨大的关联关系。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明实施例。
附图说明
通过参照附图详细描述其示例实施例,本发明实施例的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种用于订单处理的方法的流程图。
图2是根据另一示例性实施例示出的一种用于订单处理的方法的流程图。
图3是根据另一示例性实施例示出的一种用于订单处理的方法的流程图。
图4是根据一示例性实施例示出的一种用于订单处理的装置的框图。
图5是根据一示例性实施例示出的一种电子设备的框图。
图6示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明实施例将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明实施例的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明实施例的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语「及/或」包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本发明实施例所必须的,因此不能用于限制本发明实施例的保护范围。
图1是根据一示例性实施例示出的一种用于订单处理的方法的流程图。
如图1所示,在S102中,获取待处理的多个订单,所述多个订单中的至少部分订单间存在相关关系。在本实施例中订单可包含商品购物订单,财务流程单等形式的订单。在本实施例中,以保险行业为例,进行后续说明。在保险相关的订单中,可例如在第一保单、批单、关系人、账单等文件存在着关联关系,这些关联关系是通过保单号进行联系的。汇总保单号和各个小保单号是一个一对多的关系,同一个汇总保单号下面存在有多个小保单号,在本发明实施例中,多个订单中包含具有此类相关关系的订单,在后续的处理中,可例如根据保单号将一套数据划分到统一的一个数据库中的同一套数据表中,方便后面的整体业务的数据查询处理。
在S104中,根据订单的第一选定字段确定分库逻辑。通过所述订单编号中的基础字段确定所述分库逻辑。可例如,确定的分配数据库表的字段内容为保单号,将保单号的数据进行拆分,评估字段中的哪几个分配比较均衡,可例如,经过具体的分析可以确定此次数据中的保单号第10位到14位是随机数生成的,分配相对是比较均衡,以保证分库分表之后数据的分配比较均衡,保证数据库利用率和后续数据的处理效率,即将保单号第10位到14位作为预定字段,确定分库逻辑。
在一个实施例中,还可例如,将投保人的身份证号码中的预定位数作为预定字段以确定分库逻辑。在另一个实施例中,还可例如,将姓名、年龄段或者投保时间等相关信息作为预定字段以确定分库逻辑。本发明实施例不以此为限。
在S106中,根据订单的第二选定字段确定分表逻辑。通过所述订单编号中的基础字段确定所述分表逻辑。可例如,通过如上文所述的方式确定第二选定字段,然后根据第二选定字段确定分表逻辑。
在一个实施例中,第一选定字段与第二选定字段是同样的字段,在另一个实施例中,第一选定字段与第二选定字段为不同的字段。而且第一选定字段与第二选定字段可例如为不同种类的字段。
在一个实施例中,第一选定字段为保单号中选定的字段,第二选定字段也为保单号中选定的字段。在另一个实施例中,第一选定字段为保单号中选定的字段,第二选定字段为保单中用户的年龄段。本发明实施例不以此为限。
在S108中,通过所述分库逻辑将所述多个订单中的每一个订单分配到指定数据库,所述指定数据库为多个数据库其中之一。可例如,通过所述分库逻辑将所述待处理订单的订单编号进行第一取模操作;通过所述第一取模操作的余数确定待分配的指定数据库;以及将所述待处理的订单分配到所述指定数据库中。
可例如,保单号为17041239496013910305,保单号的第8位到第10位是按照顺序增加的,分布相对均衡的数字,进而确定第一选定字段为保单号的第9位与第10位,即为“49”。预设的数据库的数量为4,则将“49”与4进行取模操作,余数为1,则1号数据库为所述指定的数据库。
在S110中,在所述指定数据库中,通过所述分表逻辑将所述订单分配到指定数据表,所述指定数据表为多个数据表其中之一。可例如,通过所述分表逻辑将所述待处理订单进行第二取模操作;通过所述第二取模操作的余数确定待分配的指定数据表;以及在所述指定数据库中,将所述待处理的订单分配到所述指定数据表中。
可例如,保单号为17041239496013910305,保单号的第8位到第10位是按照顺序增加的,分布相对均衡的数字,进而确定第二选定字段为保单号的第8位到第10位,即为“949”。预设的数据表的个数为128,即将“949”与128进行取模操作,余数为53,则53号数据表为所述指定的数据表。
根据本发明实施例的用于订单处理的方法,通过选定的字段与逻辑,对大量的订单数据进行分库分表操作,能够尽量均匀的将含有相关关系的订单存储在同一个数据库中,分库分表实现快速高效的数据存储及其查询操作,合单逻辑减少系统交互,减少对各个系统的压力,而且能够减轻后续访问核心数据库的时候产出存储压力和接口的使用频率。
应清楚地理解,本发明实施例描述了如何形成和使用特定示例,但本发明实施例的原理不限于这些示例的任何细节。相反,基于本发明实施例公开的内容的教导,这些原理能够应用于许多其它实施例。
在本公开的一种示例性实施例中,还包括:在将所述订单分配到所述指定数据表之后,将所述多个数据库中的订单进行汇总处理。可例如包括:通过多线程处理将所述多个数据库中的订单进行汇总处理。因为所有的数据库表之间的数据操作没有任何关系,可以进行多线程操作,同时开多个线程将每个表总的数据进行汇总操作,最后统一整合为汇总保单。
在本公开的一种示例性实施例中,所述将所述多个数据库中的订单进行汇总处理,包括:将所述多个数据库中的订单按照预定日期进行汇总处理。
图2是根据另一示例性实施例示出的一种用于订单处理的方法的流程图。图2用于对按照预定日期进行订单汇总进行示例性的描述。
在S202中,将每一个数据库中的订单按照预定日期进行分组,生成分组数据。在订单业务中,需要向客户可以提供保单的查询服务,并且还要满足财务上的对账处理、准备金等相关的保险业务的数据操作,但是所有业务是基于数据统计的结果,基本的结果均是按照天进行汇总统计,所以将所有保单按照起保时间为准,将所有的保单保额和保费进行汇总。起保时间是保险合同生效的时间。
在S204中,将每一个数据库中的所述分组数据进行汇总处理,生成分库数据。因为所有的数据库表之间的数据操作没有任何关系,可以进行多线程操作,同时开多个线程将每一个数据库中的每个表总的数据进行汇总操作,生成分库数据。
在S206中,将所述多个数据库中的所述分库数据进行累加,获取汇总数据。对所有的数据库中的分库数据进行汇总处理,统一整合为汇总保单。
根据本发明实施例的用于订单处理的方法,通过将含有相关关系的订单进行分库分表操作,以使得含有相关关系的订单存储在同一个数据库中的同一个表中,进而进行订单汇总的方式,能够实现用户功能、业务功能的数据分离,满足双方需求。同时合单逻辑简单方便,减少很多数据逻辑的操作,并且是的运维更加方便快捷,并且,合单按照日期为基准,不必要再维护每个合单后以及合单前的小保单的关联关系,极大的减少数据存储的量和维护成本。
在本公开的一种示例性实施例中,还包括:在确定分库逻辑之前,通过订单的数量确定数据库的数量与数据表的数量。在本公开的一种示例性实施例中,所述数据库的数量与所述数据表的数量为2的指数。可例如,每次进行订单汇总大概有500多张表就满足需求,那么既可以设定利用4个库,128张表进行数据存储。
图3是根据另一示例性实施例示出的一种用于订单处理的方法的流程图。图3是对订单分库分表处理以及订单汇总处理的示例性描述。
如图3所示,在S302中,交互数据,根据公用性找到基础分库分表数据。本实施例中的数据公用性选择指:定位保单号将日结文件的数据结构整理,保单号在各个数据库表中都存在,一般的业务场景都是围绕保单号展开的,保单号在各个表中的定位不是主键就是外键,所以定位保单号为分库规则数据。
在S304中,根据基础字段中可以分配比较均衡的位数进行取模操作实现分库和分表。可例如,在本实施例中,第一保单、批单、关系人、账单等文件按照保单号的分布规则(比如说:保单号在生成的过程当中,第8位到第10位是按照顺序累计增加的,所以保单号在这几位上面是顺序增加,分配相对比较平均,取模操作之后可以保证分配到每个表和每个库中的数据比较均衡)进行数据的分库分表存储:
比如说:保单号为17041239496013910305,根据大量数据评估确定949是按照顺序增加的所以,具体的分库分表定位操作为:
a)经过大量数据的观察发现该保单号的第8位到第10位是分布相对均衡的数字:949;
b)根据数据量评估,感觉500多张表可以满足需求,我们初步分库为4个库,128张表;
c)数据库的定位是根据949的后两位对4进行取模操作,发现余数为1,则定位为1号数据库;
d)表的定位是:949对128取模操作,发现余数是53,那么定位的数据库表为53号表;结论:则最终确定该数据为1号数据库53号表。
在S306中,将所有的库和表中数据按照起保日期进行分组,获取数据的总保费、总保额、件数(不统计起期超过有效期的数据)。按照业务要求进行合单的处理,首先定义合单的规则--起保时间(精确到天)。起保时间:指的的是保险合同生效的时间。业务上要求客户可以进行保单的查询,并且还要满足财务上的对账处理、准备金等相关的保险业务的数据操作,但是所有业务是基于数据统计的结果,基本的结果均是按照天进行汇总统计,所以将所有保单按照起保时间为准,将所有的保单保额和保费进行汇总,做一个合单的处理。因为所有的数据库表之间的数据操作没有任何关系,可以进行多线程操作,同时开多个线程将每个表总的数据进行汇总操作,最后统一整合为汇总保单。
在S308中,将所有的分库分表的计算值进行累加(多线程实现)。合单处理方式:以起保日期为合单基准,每天将所有新旧保单按照起保日期的天为分组标准,将所有的保费和保额通过累加后分组存储起来,汇总为一个新的保单作为后续财务等系统处理的基础数据。
在S310中,判断起保是否存在汇总保单。如果存在汇总保单,则进入S312,否则进入S314。
在S312中,走批改流程,后续业务处理:每次合单操作的数据是总保费和总保额而非增量保费和保额每次合单之后需要根据当前的所有合单日期去判定是否有新的日期出现,如果有新的日期出现就走承保流程进行核心数据承保操作,如果已经存在相应的起保日期,就走保单批改流程,将总保费按照日期汇总去做批改处理,如此可以避免重复批改的操作。
在本实施例中,对账和汇总保单及其关联关系的小保单是按照起保日期进行关联关系对应的,所以在运维的时候,首先要根据要处理的小保单信息寻找它的起保时间,然后按照起保时间去查找对应的汇总保单信息,处理顺序为:小保单-->起保时间-->汇总保单,如果有小保单号,可以手动按照之前的分库分表规则进行口算定位数据存储的位置,进行数据查询和运维。
在S314中,执行承保流程,存储汇总保单与保险起期的关联关系。
根据本发明实施例的用于订单处理的方法,能够解决互联保险大数据量的处理问题,快速准确,能够解决大数据量的存储问题,同时对核心的压力很小,交互次数也很少,能够大数据业务数据的保监上报及其财务等问题,而且不需要维护数据量巨大的关联关系。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明实施例提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明实施例示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本发明实施例装置实施例,可以用于执行本发明实施例方法实施例。对于本发明实施例装置实施例中未披露的细节,请参照本发明实施例方法实施例。
图4是根据一示例性实施例示出的一种用于订单处理的装置的框图。
订单模块402用于获取待处理的多个订单,所述多个订单中的至少部分订单间存在相关关系;
第一逻辑模块404用于根据订单的第一选定字段确定分库逻辑;
第二逻辑模块406用于根据订单的第二选定字段确定分表逻辑;
分库模块408用于通过所述分库逻辑将所述多个订单中的每一个订单分配到指定数据库,所述指定数据库为多个数据库其中之一;
分表模块410用于在所述指定数据库中,通过所述分表逻辑将所述订单分配到指定数据表,所述指定数据表为多个数据表其中之一。
根据本发明实施例的用于订单处理的装置,通过选定的字段与逻辑,对大量的订单数据进行分库分表操作,能够尽量均匀的将含有相关关系的订单存储在同一个数据库中,利用合单逻辑进行分库分表的方式能够实现快速高效的数据存储及其查询操作,减少系统交互,减少对各个系统的压力,而且能够减轻后续访问核心数据库的时候产出存储压力和接口的使用频率。
图5是根据一示例性实施例示出的一种电子设备的框图。
下面参照图5来描述根据本发明实施例的这种实施方式的电子设备200。图5显示的电子设备200仅仅是一个示例,不应对本发明实施例实施例的功能和使用范围带来任何限制。
如图5所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本发明实施例各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图1,图2,图3中所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述电子处方流转处理方法。
图6示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
参考图6所示,描述了根据本发明实施例的实施方式的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明实施例的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:根据第一选定字段确定分库逻辑;根据第二选定字段确定分表逻辑;通过所述分库逻辑将待处理订单分配到指定数据库,所述指定数据库为多个数据库其中之一;以及在所述指定数据库中,通过所述分表逻辑将待处理订单分配到指定数据表,所述指定数据表为多个数据表其中之一。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施例实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施例实施例的方法。
通过以上的详细描述,本领域的技术人员易于理解,根据本发明实施例的用于订单处理的方法及装置具有以下优点中的一个或多个。
根据一些实施例,本发明实施例的用于订单处理的方法,实现用户功能、业务功能的数据分离,满足双方需求。
根据另一些实施例,本发明实施例的用于订单处理的方法,分库分表实现快速高效的数据存储及其查询操作,合单逻辑减少系统交互,减少对各个系统的压力。
根据再一些实施例,本发明实施例的用于订单处理的方法,合单逻辑简单方便,减少很多数据逻辑的操作,并且是的运维更加方便快捷。
根据再一些实施例,本发明实施例的用于订单处理的方法,合单按照日期为基准,不必要再维护每个合单后以及合单前的小保单的关联关系,极大的减少数据存储的量和维护成本。
以上具体地示出和描述了本发明实施例的示例性实施例。应可理解的是,本发明实施例不限于这里描述的详细结构、设置方式或实现方法;相反,本发明实施例意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如「上」、「第一」、「第二」及「一」等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本发明实施例可实施的范畴。
Claims (13)
1.一种用于订单处理的方法,其特征在于,包括:
获取待处理的多个订单,所述多个订单中的至少部分订单间存在相关关系;
根据订单的第一选定字段确定分库逻辑;
根据订单的第二选定字段确定分表逻辑;
通过所述分库逻辑将所述多个订单中的每一个订单分配到指定数据库,所述指定数据库为多个数据库其中之一;以及
在所述指定数据库中,通过所述分表逻辑将所述订单分配到指定数据表,所述指定数据表为多个数据表其中之一。
2.如权利要求1所述的方法,其特征在于,还包括:
在将所述订单分配到所述指定数据表之后,将所述多个数据库中的订单进行汇总处理。
3.如权利要求1所述的方法,其特征在于,还包括:
在确定分库逻辑之前,通过订单的数量确定数据库的数量与数据表的数量。
4.如权利要求1所述的方法,其特征在于,将订单的编号中的基础字段作为所述第一选定字段与所述第二选定字段。
5.如权利要求1所述的方法,其特征在于,所述通过所述分库逻辑将所述多个订单中的每一个订单分配到指定数据库,包括:
将所述订单的编号中的所述第一选定字段进行第一取模操作;
通过所述第一取模操作的余数确定待分配的指定数据库;以及
将所述待处理的订单分配到所述指定数据库中。
6.如权利要求1所述的方法,其特征在于,所述在所述指定数据库中,通过所述分表逻辑将所述订单分配到指定数据表,包括:
将所述订单的编号中的所述第二选定字段进行第二取模操作;
通过所述第二取模操作的余数确定待分配的指定数据表;以及
在所述指定数据库中,将所述待处理的订单分配到所述指定数据表中。
7.如权利要求2所述的方法,其特征在于,所述将所述多个数据库中的订单进行汇总处理,包括:
通过多线程处理将所述多个数据库中的订单进行汇总处理。
8.如权利要求2所述的方法,其特征在于,所述将所述多个数据库中的订单进行汇总处理,包括:
将每一个数据库中的订单按照预定日期进行分组,生成分组数据;
将每一个数据库中的所述分组数据进行汇总处理,生成分库数据;以及
将所述多个数据库中的所述分库数据进行累加,获取汇总数据。
9.如权利要求2所述的方法,其特征在于,还包括:
在汇总处理之后,以所述预定日期的所述汇总数据为基础对新加入的订单进行订单汇总处理。
10.如权利要求3所述的方法,其特征在于,所述数据库的数量与所述数据表的数量为2的指数。
11.一种用于订单处理的装置,其特征在于,包括:
订单模块,用于获取待处理的多个订单,所述多个订单中的至少部分订单间存在相关关系;
第一逻辑模块,用于根据订单的第一选定字段确定分库逻辑;
第二逻辑模块,用于根据订单的第二选定字段确定分表逻辑;
分库模块,用于通过所述分库逻辑将所述多个订单中的每一个订单分配到指定数据库,所述指定数据库为多个数据库其中之一;以及
分表模块,用于在所述指定数据库中,通过所述分表逻辑将所述订单分配到指定数据表,所述指定数据表为多个数据表其中之一。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711242408.XA CN108009883A (zh) | 2017-11-30 | 2017-11-30 | 用于订单处理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711242408.XA CN108009883A (zh) | 2017-11-30 | 2017-11-30 | 用于订单处理的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108009883A true CN108009883A (zh) | 2018-05-08 |
Family
ID=62055663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711242408.XA Pending CN108009883A (zh) | 2017-11-30 | 2017-11-30 | 用于订单处理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108009883A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108765087A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 订单异步处理方法、服务器及存储介质 |
CN109344142A (zh) * | 2018-08-22 | 2019-02-15 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN109785115A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 测试数据的生成方法、装置和计算机设备 |
CN110033249A (zh) * | 2019-03-01 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种流水落表方法及装置 |
CN110222064A (zh) * | 2019-06-19 | 2019-09-10 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN110659319A (zh) * | 2019-08-30 | 2020-01-07 | 阿里巴巴集团控股有限公司 | 对数据写入请求进行流量均衡的方法和系统 |
WO2020108051A1 (zh) * | 2018-11-27 | 2020-06-04 | 阿里巴巴集团控股有限公司 | 一种保险交易处理方法及装置 |
CN111274228A (zh) * | 2020-02-21 | 2020-06-12 | 泰康保险集团股份有限公司 | 保单数据迁移存储方法、系统、设备及可读存储介质 |
CN111309704A (zh) * | 2018-12-12 | 2020-06-19 | 北京沃东天骏信息技术有限公司 | 数据库操作方法和数据库操作系统 |
CN111382990A (zh) * | 2018-12-29 | 2020-07-07 | 达丰(上海)电脑有限公司 | 信息关联管理方法及其装置、设备和存储介质 |
CN111625602A (zh) * | 2020-05-26 | 2020-09-04 | 北京思特奇信息技术股份有限公司 | 一种基于客户id的分库方法和装置 |
CN111782733A (zh) * | 2020-07-22 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 多级数据汇总的方法、分布式数据管理系统及汇总数据管理系统 |
CN113111070A (zh) * | 2021-05-08 | 2021-07-13 | 福建天晴数码有限公司 | 一种基于分组进行数据分库分表的方法及其系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372994A (zh) * | 2016-08-31 | 2017-02-01 | 北京炎黄新星网络科技有限公司 | 一种处理订单的方法和系统 |
CN106909597A (zh) * | 2016-06-30 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 一种数据库迁移方法和装置 |
CN107085570A (zh) * | 2016-02-14 | 2017-08-22 | 华为技术有限公司 | 数据处理方法、应用服务器和路由器 |
-
2017
- 2017-11-30 CN CN201711242408.XA patent/CN108009883A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085570A (zh) * | 2016-02-14 | 2017-08-22 | 华为技术有限公司 | 数据处理方法、应用服务器和路由器 |
CN106909597A (zh) * | 2016-06-30 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 一种数据库迁移方法和装置 |
CN106372994A (zh) * | 2016-08-31 | 2017-02-01 | 北京炎黄新星网络科技有限公司 | 一种处理订单的方法和系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108765087B (zh) * | 2018-05-31 | 2023-04-07 | 康键信息技术(深圳)有限公司 | 订单异步处理方法、服务器及存储介质 |
CN108765087A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 订单异步处理方法、服务器及存储介质 |
CN109344142A (zh) * | 2018-08-22 | 2019-02-15 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN109344142B (zh) * | 2018-08-22 | 2023-05-30 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
WO2020108051A1 (zh) * | 2018-11-27 | 2020-06-04 | 阿里巴巴集团控股有限公司 | 一种保险交易处理方法及装置 |
CN111309704B (zh) * | 2018-12-12 | 2023-06-23 | 北京沃东天骏信息技术有限公司 | 数据库操作方法和数据库操作系统 |
CN111309704A (zh) * | 2018-12-12 | 2020-06-19 | 北京沃东天骏信息技术有限公司 | 数据库操作方法和数据库操作系统 |
CN109785115A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 测试数据的生成方法、装置和计算机设备 |
CN111382990A (zh) * | 2018-12-29 | 2020-07-07 | 达丰(上海)电脑有限公司 | 信息关联管理方法及其装置、设备和存储介质 |
CN110033249A (zh) * | 2019-03-01 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种流水落表方法及装置 |
CN110033249B (zh) * | 2019-03-01 | 2023-09-29 | 创新先进技术有限公司 | 一种流水落表方法及装置 |
CN110222064A (zh) * | 2019-06-19 | 2019-09-10 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN110659319A (zh) * | 2019-08-30 | 2020-01-07 | 阿里巴巴集团控股有限公司 | 对数据写入请求进行流量均衡的方法和系统 |
CN111274228A (zh) * | 2020-02-21 | 2020-06-12 | 泰康保险集团股份有限公司 | 保单数据迁移存储方法、系统、设备及可读存储介质 |
CN111274228B (zh) * | 2020-02-21 | 2023-09-05 | 泰康保险集团股份有限公司 | 保单数据迁移存储方法、系统、设备及可读存储介质 |
CN111625602A (zh) * | 2020-05-26 | 2020-09-04 | 北京思特奇信息技术股份有限公司 | 一种基于客户id的分库方法和装置 |
CN111782733A (zh) * | 2020-07-22 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 多级数据汇总的方法、分布式数据管理系统及汇总数据管理系统 |
CN113111070A (zh) * | 2021-05-08 | 2021-07-13 | 福建天晴数码有限公司 | 一种基于分组进行数据分库分表的方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108009883A (zh) | 用于订单处理的方法及装置 | |
Vazirani et al. | Implementing blockchains for efficient health care: systematic review | |
CN109584079B (zh) | 资源处理系统、资源项目申报的审批方法、装置及设备 | |
Xiong et al. | The mitigating role of blockchain-enabled supply chains during the COVID-19 pandemic | |
CN107451485B (zh) | 一种基于区块链的数据处理方法及设备 | |
Mazher et al. | Fuzzy integral–based risk-assessment approach for public–private partnership infrastructure projects | |
CN109064346A (zh) | 保险产品推荐方法、装置、电子设备及计算机可读介质 | |
CN107767070A (zh) | 用于信息推广的方法及装置 | |
US20200357063A1 (en) | Systems and computer-implemented processes for model-based underwriting | |
US11487801B2 (en) | Dynamic data visualization from factual statements in text | |
Roy et al. | An integrated fuzzy model for evaluation and selection of mobile banking (m-banking) applications using new fuzzy-BWM and fuzzy-TOPSIS | |
CN107451712A (zh) | 一种数据处理方法及设备 | |
CN115168460A (zh) | 数据处理方法、数据交易系统、设备及存储介质 | |
CN114303140A (zh) | 与产品和服务相关的知识产权数据分析 | |
US20140122163A1 (en) | External operational risk analysis | |
CN107871199A (zh) | 新契约保单回访方法、装置及存储介质 | |
US20210073830A1 (en) | Computerized competitiveness analysis | |
US20170171248A1 (en) | Method and Apparatus for Data Protection in Cloud-Based Matching System | |
Mizuno et al. | Power laws in market capitalization during the Dot-com and Shanghai bubble periods | |
US8620895B1 (en) | Mapping organizational accounting codes to access business information | |
Alarefi | Cloud computing usage by governmental organizations in Saudi Arabia based on Vision 2030 | |
CN108228838A (zh) | 一种业务数据的变更方法和变更装置 | |
Atta | The effect of usability and information quality on decision support information system (DSS) | |
Nizamani | A quality-aware cloud selection service for computational modellers | |
CN113822660A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180508 |
|
RJ01 | Rejection of invention patent application after publication |