快递网点账单的读写方法、装置、设备及存储介质与流程

文档序号:25796976发布日期:2021-07-09 12:04阅读:114来源:国知局
快递网点账单的读写方法、装置、设备及存储介质与流程

1.本发明涉及数据读写技术领域,具体涉及一种快递网点账单的读写方法、装置、设备及存储介质。


背景技术:

2.随着网络技术和数字经济的发展,线上购物已经成为日常生活中不可或缺的一部分,各种大型促销活动也是层出不穷,进而也促进了快递行业的高速增长,如中通快递网点账单200亿行数据的实时读写,对数据储存是一个挑战。在此情况下,相应的数据储存技术也必须与时俱进,才能应对日渐壮大的购物者。数据存储通过数据库来实现,常用的数据库有多种,如列数据库、关系型数据库、非关系型数据库、文档型数据库、分布式数据库等,通常部署两套,一套主用一套备用来保证企业数据安全。
3.现有的大型关系型数据储存方案,基本思路是在现有数据库上做物理分区以及逻辑分区,俗称分库分表,将大数据切分成小数据来进行读写加速。但是现有的分库分表的形式存在分区不均匀,当读写需求不在一个数据维度的时候难以兼容,在某一个时间段数据过于集中等问题,进而影响数据库的读写速度。尤其当每秒查询率持续高峰或突然成倍增长时,对于数据库的读写,难以达到理想速率,同时对于数据储存集中也难以快速的检索数据。


技术实现要素:

4.有鉴于此,本发明的目的在于克服现有技术的不足,提供一种快递网点账单的读写方法、装置、设备及存储介质。
5.为实现以上目的,本发明采用如下技术方案:
6.一种快递网点账单的读写方法,包括:
7.接收用户的数据操作请求指令;所述数据操作请求指令包括数据操作请求类型;所述数据操作请求类型包括快递网点账单的数据写入请求和数据读取请求;
8.根据所述数据操作请求类型选取对应的预设数据库,进行数据读或写操作;所述预设数据库包括:关系型数据库或分布式数据库;所述关系型数据库预先进行分库分表处理。
9.可选的,所述数据操作请求指令还包括:待写入数据信息;所述待写入数据信息包括:待写入快递单号;所述预设数据库为关系型数据库;
10.所述根据所述数据操作请求类型选取对应的预设数据库,进行数据读或写操作,包括:
11.计算所述待写入快递单号的单号哈希值;
12.将所述单号哈希值根据预设分表数量取模获得表标识;
13.将所述表标识对预设分库数量取模获得库标识;
14.根据所述表标识和所述库标识写入所述待写入数据信息。
15.可选的,所述预设数据库为分布式数据库;所述数据操作请求指令还包括:待读取数据标识;
16.所述根据所述数据操作请求类型选取对应的预设数据库,进行数据读或写操作,包括:
17.结合所述待读取数据标识对所述分布式数据库中数据进行二分法切片处理,得到多个分片结果数据;
18.合并多个所述分片结果数据进行数据读取操作。
19.可选的,还包括:
20.将所述关系型数据库的数据变化同步到所述分布式数据库。
21.可选的,所述将所述关系型数据库的数据变化同步到所述分布式数据库,包括:
22.将所述关系型数据库的数据变化同步到预设消息中心;
23.将所述预设消息中心的数据变化同步写入所述分布式数据库。
24.可选的,还包括:
25.根据预设定时指令删除数据;所述数据包括所述关系型数据库的数据和所述分布式数据库的数据。
26.一种快递网点账单的读写装置,包括:
27.指令接收模块,用于接收用户的数据操作请求指令;所述数据操作请求指令包括数据操作请求类型;所述数据操作请求类型包括快递网点账单的数据写入请求和数据读取请求;
28.读取操作模块,用于根据所述数据操作请求类型选取对应的预设数据库,进行数据读或写操作;所述预设数据库包括:关系型数据库或分布式数据库。
29.可选的,还包括:
30.同步模块,用于将所述关系型数据库的数据变化同步到所述分布式数据库。
31.一种快递网点账单的读写设备,包括:
32.处理器,以及与所述处理器相连接的存储器;
33.所述存储器用于存储计算机程序,所述计算机程序至少用于执行上述所述的快递网点账单的读写方法;
34.所述处理器用于调用并执行所述存储器中的所述计算机程序。
35.一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如上述所述的快递网点账单的读写方法中各个步骤。
36.本申请提供的技术方案可以包括以下有益效果:
37.本申请公开一种快递网点账单的读写方法,包括:接收用户的数据操作请求指令;数据操作请求指令包括数据操作请求类型;数据操作请求类型包括快递网点账单的数据写入请求和数据读取请求;根据数据操作请求类型选取对应的预设数据库,进行数据读或写操作;预设数据库包括:关系型数据库或分布式数据库;关系型数据库预先进行分库分表处理。上述方法中的快速读写方法中数据写和读分别采用两个不同的数据库,实现数据的快速写入和快速读取,充分利用数据库特性,避开特定数据库短板提高了读写能力。
附图说明
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1是本发明一实施例提供的快递网点账单的读写方法的流程图;
40.图2是本发明一实施例提供的快递网点账单的快速写入方法的流程图;
41.图3是本发明一实施例提供的快递网点账单的快速读取方法的流程图;
42.图4是本发明一实施例提供的快递网点账单的读写装置的模块图;
43.图5是本发明一实施例提供的快递网点账单的读写设备的结构图。
具体实施方式
44.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
45.现有技术中对数据进行分区通常都是通过数据关键信息(如网点编码/单号)来决定数据分区,这样导致某些关键信息无法做到数据均匀分区,从而影响数据访问性能。同时当用户的读写需求不在一个数据维度的时候现有数据库难以兼容,如对快递单号的扫描希望按单号修改数据,但是数据使用者希望按网点编码查询,这种情况我们往往只能满足一种,另一种势必要做出性能牺牲。而且当数据过于集中在某一个时间段的时候查询效率低下。现为解决上述问题,本申请中提供一种快速读写方法,具体内容如下。
46.图1是本发明一实施例提供的快递网点账单的读写方法的流程图。参见图1,一种快递网点账单的读写方法,包括:
47.步骤101:接收用户的数据操作请求指令;所述数据操作请求指令包括数据操作请求类型;所述数据操作请求类型包括快递网点账单的数据写入请求和数据读取请求。通过此步骤确定用户是需要进行数据写入操作,还是数据读取操作。
48.步骤102:根据所述数据操作请求类型选取对应的预设数据库,进行数据读或写操作;所述预设数据库包括:关系型数据库或分布式数据库;所述关系型数据库预先进行分库分表处理。
49.上述实施例中通过对用户的请求进行判断,确定用户是要读取数据还是写入数据,若为读取数据则会选择分布式数据库进行数据的读取操作,若为写入数据则会选择关系型数据库进行数据的写入操作。本申请中在进行数据读写时采用的是不同的数据库,充分利用数据库特性,避开特定数据库短板提高了读写能力。
50.本申请采用对写性能最高的方式进行写入操作,如使用单号作为分区关键信息,来实现快速写入,读写采用不同数据库来达到最大化利用数据库优势,如写用关系型数据库保证事务,读用分布式数据库提高速度。同时本申请使用分片并发读取数据最后合并成结果来达到快速读取数据。
51.在上述实施例的基础上,本申请中还公开了数据写入的方法实施例,具体情况如
下:
52.图2是本发明一实施例提供的快递网点账单的快速写入方法的流程图。参见图2,一种快递网点账单的写入方法,包括:
53.步骤201:接收用户的数据操作请求指令;所述数据操作请求指令为数据写入请求。此时选取关系型数据库进行数据写入操作。本实施例中采用的是基于分库分表的数据写入。其中,数据操作请求指令包括:待写入数据信息;所述待写入数据信息包括:待写入快递单号。
54.步骤202:计算待写入快递单号的单号哈希值;
55.步骤203:将单号哈希值根据预设分表数量取模获得表标识;
56.步骤204:将表标识对预设分库数量取模获得库标识;
57.步骤205:根据表标识和库标识写入待写入数据信息。根据表标识和库标识可以确定待写入数据在数据库中的位置,在确定数据库中的位置后将待写入数据写入数据库中,完成数据写入操作。
58.本实施例中取快递单号作为目标数据写入分库分表的关键型数据库中,通过快递单号获得表标识和库标识,以此确定写入位置,确定位置后快速写入数据。
59.同时,本申请中还公开了一种快递网点账单的读取方法,具体情况如下:图3是本发明一实施例提供的快递网点账单的快速读取方法的流程图。参见图3,一种快递网点账单的读取方法,此时进行读取操作的数据库为分布式数据库,包括:
60.步骤301:接收用户的数据操作请求指令;数据操作请求指令包括:待读取数据标识。将待读取数据标识作为关键信息进行数据读取,此处待读取数据标识可以为快递单号,也可以为网点,也可以为寄件人或收件人。通过该关键信息进行读取,能得到整个快递账单的数据。需要注意的是,本实施例中的待读取数据标识的具体数据类型不定,可根据实际情况而定。
61.步骤302:结合待读取数据标识对分布式数据库中数据进行二分法切片处理,得到多个分片结果数据。将分布式数据库中的数据进行二分法切片处理进行目标数据的查找,经过多次二分法之后,会得到多个分片结果。
62.步骤303:合并多个分片结果数据进行数据读取操作。将多个分片结果结合起来得到最终的目标数据,即待读取数据。
63.本实施例中通过分片读取数据库实现集中数据的读取,上述实施例中适用于集中数据的快速读取。需要注意的是,上述实施例的读取方法不仅适用于集中数据的读取,还可以使用于其他情况。同时还可以采用其他读取方式进行数据读取。
64.在上述实施例的基础上,本申请中快递网点账单的读写方法还包括:
65.将所述关系型数据库的数据变化同步到所述分布式数据库。
66.同步操作的具体步骤为:
67.将所述关系型数据库的数据变化同步到预设消息中心;
68.将所述预设消息中心的数据变化同步写入所述分布式数据库。
69.针对关系型数据库每个分库都建立一个同步程序监听数据变化同步到消息中心,实现数据写入缓冲,再建立消费程序消费消息中心数据写入分布式数据库。本实施例中提供了数据库数据同步方法,将关系型数据库的数据同步到分布式数据库,以此保证新写入
的数据能够及时同步存储到分布式数据库中,实现了数据同步更新的效果。
70.在上述实施例的基础上,本申请快递网点账单的读写方法还包括:根据预设定时指令删除数据;所述数据包括所述关系型数据库的数据和所述分布式数据库的数据。本实施例中删除操作全部使用逻辑删除,建立预设定时程序在业务空闲时段清理无用数据。
71.通过上述删除操作能够及时清理数据库内存,确保数据库的高效运行。
72.上述实施例中的快递网点账单的读写方法中写入数据和读取数据时使用不同的数据库,结构也不同。本申请充分利用数据库特性,避开特定数据库短板提高了读写能力,同时采用消息订阅来同步数据实现数据缓冲,极大的提高了吞吐量,最终使用切片来读取集中数据实现快速读取数据。
73.对应于本发明实施例提供的一种快递网点账单的读写方法,本发明实施例还提供一种快递网点账单的读写装置。请参见下文实施例。
74.图4是本发明一实施例提供的快递网点账单的读写装置的模块图。参见图4,一种快递网点账单的读写装置,包括:
75.指令接收模块401,用于接收用户的数据操作请求指令;数据操作请求指令包括数据操作请求类型;数据操作请求类型包括快递网点账单的数据写入请求和数据读取请求;
76.读取操作模块402,用于根据数据操作请求类型选取对应的预设数据库,进行数据读或写操作;预设数据库包括:关系型数据库或分布式数据库。
77.上述读写装置使用不同的数据库,充分利用数据库特性,避开特定数据库短板提高了读写能力。
78.在上述实施例的基础上,快递网点账单的读写装置还包括:
79.同步模块,用于将关系型数据库的数据变化同步到分布式数据库。
80.本申请中的读写装置在采用不同数据库进行数据读写的基础上采用消息订阅来同步数据实现数据缓冲,极大的提高了系统吞吐量。
81.为了更清楚地介绍实现本发明实施例的硬件设备,对应于本发明实施例提供的一种快递网点账单的读写方法,本发明实施例还提供一种快递网点账单的读写设备。请参见下文实施例。
82.图5是本发明一实施例提供的快递网点账单的读写设备的结构图。参见图5,一种快递网点账单的读写设备,包括:
83.处理器501,以及与处理器501相连接的存储器502;
84.存储器502用于存储计算机程序,计算机程序至少用于执行上述快递网点账单的读写方法;
85.处理器501用于调用并执行存储器502中的计算机程序。
86.在此基础上,本申请中还公开一种存储介质,存储介质存储有计算机程序,计算机程序被处理器执行时,实现如上述所述的快递网点账单的读写方法中各个步骤。
87.采用上述设备实现数据的快速读写操作。
88.可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
89.需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义
是指至少两个。
90.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
91.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
92.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
93.此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
94.上述提到的存储介质可以是只读存储器,磁盘或光盘等。
95.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
96.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1