CN114493799A - 一种分库分表管理专车订单数据的方法及系统 - Google Patents
一种分库分表管理专车订单数据的方法及系统 Download PDFInfo
- Publication number
- CN114493799A CN114493799A CN202210141650.2A CN202210141650A CN114493799A CN 114493799 A CN114493799 A CN 114493799A CN 202210141650 A CN202210141650 A CN 202210141650A CN 114493799 A CN114493799 A CN 114493799A
- Authority
- CN
- China
- Prior art keywords
- order
- passenger
- driver
- special vehicle
- mapping table
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000013507 mapping Methods 0.000 claims abstract description 166
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000003860 storage Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
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/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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/24—Querying
- G06F16/242—Query formulation
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Computational Linguistics (AREA)
- Development Economics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种分库分表管理专车订单数据的方法及系统,其中方法包括:接收专车订单数据;查询乘客订单映射表,索引至其中乘客编码对应的订单号列表;将专车订单所对应的订单号与乘客编码建立映射后,将该订单号追加到乘客订单映射表中的订单号列表中;基于节点数进行模运算,得到目标节点编号,将专车订单数据写入到目标节点编号所对应的目标节点,并进行派单;获取接单司机信息,查询专车司机订单映射表,索引至其中司机编码对应的订单号列表;将专车订单与司机编码建立映射后,将专车订单对应的订单号追加到司机订单映射表中的订单号列表中;获取专车订单数据的检索请求,基于对应的乘客编码或司机编码进行检索。
Description
技术领域
本发明涉及专车订单派单方式的技术领域,具体涉及一种分库分表管理专车订单数据的方法及系统。
背景技术
网络预约出租汽车经营服务,也就是网约车,是一种具备及时性和便捷性的出行服务方式,且随着网约车的发展而受到人们的接收和推广。其中,网约车专车订单是网约车订单中的一种,随着网约车平台中专车订单量的增长,传统的专车订单数据管理中所采用的单节点单库的形式已经难以支撑业务发展。但是,网约车专车订单具有特殊的性质,由于司乘需要访问同一笔订单,导致了专车订单在存储时为了满足司乘双方的检索访问,使得分库分表困难。
为此,为了支撑专车订单的业务发展需要,亟需发明一种能克服分库分表困难,在不影响司乘双方的正常访问的情况下,将分库分表的存储管理方式应用到专车订单管理的方法。
发明内容
为了克服上述现有的专车订单所采用的单节点单库难以支撑业务发展的技术缺陷,本发明提供一种分库分表管理专车订单数据的方法及系统。
为了解决上述问题,本发明按以下技术方案予以实现的:
第一方面,本发明公开一种分库分表管理专车订单数据的方法,包括以下步骤:
接收专车订单数据,获取对应的订单号以及乘客编码;
查询乘客订单映射表,索引至其中乘客编码对应的订单号列表;
将专车订单所对应的订单号与乘客编码建立映射后,将该订单号追加到乘客订单映射表中的订单号列表中;
基于节点数进行模运算,得到目标节点编号,将专车订单数据写入到目标节点编号所对应的目标节点,并进行派单;
获取接单司机信息,查询专车司机订单映射表,索引至其中司机编码对应的订单号列表;
将专车订单与司机编码建立映射后,将专车订单对应的订单号追加到司机订单映射表中的订单号列表中;
获取专车订单数据的检索请求,基于对应的乘客编码或司机编码,从乘客订单映射表或司机订单映射表中进行检索,比对后获取目标节点编号,从目标节点编号对应的目标节点中输出专车订单数据。
结合第一方面提供第1种优选实施方式,所述基于节点数进行模运算,得到节点编号,具体包括:
对专车订单对应的订单号进行哈希计算,以获得唯一对应的哈希值,获取节点信息,所述节点信息包括节点总数和节点所对应的节点编号,然后基于哈希值与节点总数进行模运算,以选取目标节点编号,进而选定目标节点;
所述模运算的计算公式为p=h%n,其中,p为目标节点编号,h为哈希值,n为节点总数,选取其中哈希值与节点总数相除后取得的余数作为目标节点编号。
结合第一方面提供第2种优选实施方式,所述从乘客订单映射表或司机订单映射表中进行检索,比对后获取节点编号,从节点编号对应的节点中输出专车订单数据,具体包括:
获取专车订单数据的检索请求,从检索请求中获取乘客编号或司机编号,从而确定检索请求源,基于检索请求源的类型查询对应的乘客订单映射表或司机订单映射表,索引至乘客订单映射表或司机订单映射表中乘客编号或司机编号所对应的订单号列表,并依次对订单号列表中的订单号进行哈希计算,以分别获取订单号相对应的哈希值,获取节点总数,基于哈希值和节点总数进行模运算得到目标节点编号,进而从目标节点中获取专车订单数据;
所述模运算的计算公式为p=h%n。
结合第一方面提供第3种优选实施方式,所述接收专车订单数据,获取对应的订单号以及乘客编码后,还包括:
判断乘客订单映射表中是否存在专车订单对应的乘客编码;
若存在,则执行查询乘客订单映射表;
若不存在,则将乘客编码与订单号建立映射,并在乘客订单映射表中基于乘客编码建立订单号列表,将订单号添加到订单号列表中。
结合第一方面提供第4种优选实施方式,所述获取接单司机信息后,还包括:
判断司机订单映射表中是否存在接单司机所对应的司机编码;
若存在,则执行查询司机订单映射表;
若不存在,则将司机编码与订单号建立映射,并在司机订单映射表中基于司机编码建立订单号列表,将订单号添加到订单号列表中。
第二方面,本发明公开一种分库分表管理专车订单数据的系统,包括订单接收模块、乘客查询模块、乘客映射模块、派单运算模块、司机查询模块、司机映射模块和订单检索模块,其中:
订单接收模块用于接收专车订单数据,获取对应的订单号以及乘客编码;
乘客查询模块用于查询乘客订单映射表,索引至其中乘客编码对应的订单号列表;
乘客映射模块用于将专车订单所对应的订单号与乘客编码建立映射后,将该订单号追加到乘客订单映射表中的订单号列表中;
派单运算模块用于基于节点数进行模运算,得到目标节点编号,将专车订单数据写入到目标节点编号所对应的目标节点,并进行派单;
司机查询模块用于获取接单司机信息,查询专车司机订单映射表,索引至其中司机编码对应的订单号列表;
司机映射模块用于将专车订单与司机编码建立映射后,将专车订单对应的订单号追加到司机订单映射表中的订单号列表中;
订单检索模块用于获取专车订单数据的检索请求,基于对应的乘客编码或司机编码,从乘客订单映射表或司机订单映射表中进行检索,比对后获取目标节点编号,从目标节点编号对应的目标节点中输出专车订单数据。
结合第二方面提供第1种优选实施方式,所述派单运算模块在运行时,具体执行:
对专车订单对应的订单号进行哈希计算,以获得唯一对应的哈希值,获取节点信息,所述节点信息包括节点总数和节点所对应的节点编号,然后基于哈希值与节点总数进行模运算,以选取目标节点编号,进而选定目标节点;
所述模运算的计算公式为p=h%n,其中,p为目标节点编号,h为哈希值,n为节点总数,选取其中哈希值与节点总数相除后取得的余数作为目标节点编号。
结合第二方面提供第2种优选实施方式,所述订单检索模块在运行时,具体执行:
获取专车订单数据的检索请求,从检索请求中获取乘客编号或司机编号,从而确定检索请求源,基于检索请求源的类型查询对应的乘客订单映射表或司机订单映射表,索引至乘客订单映射表或司机订单映射表中乘客编号或司机编号所对应的订单号列表,并依次对订单号列表中的订单号进行哈希计算,以分别获取订单号相对应的哈希值,获取节点总数,基于哈希值和节点总数进行模运算得到目标节点编号,进而从目标节点中获取专车订单数据;
所述模运算的计算公式为p=h%n。
结合第二方面提供第3种优选实施方式,所述订单接收模块中,还包括:
乘客历史查询单元,其用于判断乘客订单映射表中是否存在专车订单对应的乘客编码;
若存在,则执行查询乘客订单映射表;
若不存在,则将乘客编码与订单号建立映射,并在乘客订单映射表中基于乘客编码建立订单号列表,将订单号添加到订单号列表中。
结合第二方面提供第4种优选实施方式,所述司机查询模块中,还包括:
司机历史查询单元,其用于判断司机订单映射表中是否存在接单司机所对应的司机编码;
若存在,则执行查询司机订单映射表;
若不存在,则将司机编码与订单号建立映射,并在司机订单映射表中基于司机编码建立订单号列表,将订单号添加到订单号列表中。
与现有技术相比,本发明的有益效果是:
1.本发明通过设置乘客订单映射表和司机订单映射表,分别将乘客编码和司机编码与订单号列表进行映射,从而实现了将多字段分库分表应用到专车订单的管理中。专车订单数据只需要简单地通过订单号进行分库分表,然后分别追加到乘客订单映射表或司机订单映射表中所对应的订单号列表中。
2.本发明中存放专车订单数据的目标节点所对应的目标节点编号通过订单号与节点总数进行模运算后获取,目标节点编号与订单号唯一对应,从而使得专车订单数据可实现分库分表管理。
3.在需要查询检索专车订单数据时,只需要通过乘客编号或司机编号,在对应的乘客订单映射表或司机订单映射表中找到对应的订单号列表,再分别通过订单号反向获取目标节点编号,然后从目标节点中获取需要查询的专车订单数据,从而实现在分库分表管理专车订单的情况下不影响司乘双方对专车订单数据的检索查询。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明,其中:
图1是本发明的分库分表管理专车订单数据的方法的流程示意图;
图2是本发明的分库分表管理专车订单数据的系统的示意图;
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
访问设备和服务器可以通过有线或无线通信方式进行直接或间接地连接。访问设备可以是终端,也可以是服务器。访问设备上运行了目标应用。目标应用是能够向服务器发起数据请求的应用程序,如社交应用、支付应用、游戏应用等。服务器可以是目标应用提供服务的应用服务器,也可以是区别与目标应用所对应应用服务器的代理服务器。服务器用于识别每个访问设备是否属于恶意设备,对来自恶意设备的数据报文进行拦截。当服务器为代理服务器时,代理服务器将不属于来自恶意设备的数据报文转发至应用服务器。终端具体可以是台式终端或移动终端,移动终端具体可以智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。服务器与服务器分别可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
实施例1
如图1所示,第一方面,本发明公开一种分库分表管理专车订单数据的方法,包括以下步骤:
步骤S1:接收专车订单数据,获取对应的订单号以及乘客编码。
具体地,服务器接收来自乘客端的专车订单数据,为专车订单进行编号以获取专车订单对应的订单号,从专车订单数据中分析获取与乘客唯一对应的乘客编号。
作为优选地,还包括步骤S11:判断乘客订单映射表中是否存在专车订单对应的乘客编码;
若存在,则执行查询乘客订单映射表;
若不存在,则将乘客编码与订单号建立映射,并在乘客订单映射表中基于乘客编码建立订单号列表,将订单号添加到订单号列表中。
步骤S2:查询乘客订单映射表,索引至其中乘客编码对应的订单号列表。
具体地,服务器基于乘客编码从乘客订单映射表中进行查询,并索引至与乘客编码相映射的订单号列表,以完成订单号映射和追加的准备。
步骤S3:将专车订单所对应的订单号与乘客编码建立映射后,将该订单号追加到乘客订单映射表中的订单号列表中。
步骤S4:基于节点数进行模运算,得到目标节点编号,将专车订单数据写入到目标节点编号所对应的目标节点,并进行派单。
具体地,在专车订单数据存储之前服务器需要选择合适的节点,且为了便于检索查询,需要将节点进行编号。本实施例优选地,服务器在选择节点时,对专车订单对应的订单号进行哈希计算,以获得唯一对应的哈希值,获取节点信息,所述节点信息包括节点总数和节点所对应的节点编号,然后基于哈希值与节点总数进行模运算,以选取目标节点编号,进而选定目标节点;
具体地,所述模运算的计算公式为p=h%n,其中,p为目标节点编号,h为哈希值,n为节点总数,选取其中哈希值与节点总数相除后取得的余数作为目标节点编号。哈希值与订单号唯一对应,使得反向通过哈希值去比对查询订单号时准确且高效。
步骤S5:获取接单司机信息,查询专车司机订单映射表,索引至其中司机编码对应的订单号列表。
具体地,司机接单后,服务器从司机终端获取接单司机信息,接单司机信息中包括司机编号。然后通过司机编号在司机订单映射表中进行查询,从而索引至司机编码对应的订单号列表,以完成订单追加的准备。
作为优选地,还包括步骤S51:结合第一方面提供第4种优选实施方式,所述获取接单司机信息后,还包括:
判断司机订单映射表中是否存在接单司机所对应的司机编码;
若存在,则执行查询司机订单映射表;
若不存在,则将司机编码与订单号建立映射,并在司机订单映射表中基于司机编码建立订单号列表,将订单号添加到订单号列表中。
步骤S6:将专车订单与司机编码建立映射后,将专车订单对应的订单号追加到司机订单映射表中的订单号列表中。
步骤S7:获取专车订单数据的检索请求,基于对应的乘客编码或司机编码,从乘客订单映射表或司机订单映射表中进行检索,比对后获取目标节点编号,从目标节点编号对应的目标节点中输出专车订单数据。
获取专车订单数据的检索请求,从检索请求中获取乘客编号或司机编号,从而确定检索请求源,基于检索请求源的类型查询对应的乘客订单映射表或司机订单映射表,索引至乘客订单映射表或司机订单映射表中乘客编号或司机编号所对应的订单号列表,并依次对订单号列表中的订单号进行哈希计算,以分别获取订单号相对应的哈希值,获取节点总数,基于哈希值和节点总数进行模运算得到目标节点编号,进而从目标节点中获取专车订单数据;其中,所述模运算的计算公式为p=h%n。
由于在目标节点的选取时,采用了与订单号唯一对应的哈希值以及固定数值的节点总数进行模运算,以获取目标节点编号,使得在检索时,只需获知订单号,即可实现反向的推算,从而获得目标节点编号,进而实现高效准确地从目标节点中获取专车订单数据,使得司乘双方在分库分表管理的情况下,仍可以顺利地进行专车订单数据的检索查询。
综上所述,本发明通过设置乘客订单映射表和司机订单映射表,分别将乘客编码和司机编码与订单号列表进行映射,从而实现了将多字段分库分表应用到专车订单的管理中。专车订单数据只需要简单地通过订单号进行分库分表,然后分别追加到乘客订单映射表或司机订单映射表中所对应的订单号列表中。并且,本发明中存放专车订单数据的目标节点所对应的目标节点编号通过订单号与节点总数进行模运算后获取,目标节点编号与订单号唯一对应,从而使得专车订单数据可实现分库分表管理。此外,在需要查询检索专车订单数据时,只需要通过乘客编号或司机编号,在对应的乘客订单映射表或司机订单映射表中找到对应的订单号列表,再分别通过订单号反向获取目标节点编号,然后从目标节点中获取需要查询的专车订单数据,从而实现在分库分表管理专车订单的情况下不影响司乘双方对专车订单数据的检索查询。
本实施例所述的分库分表管理专车订单数据的方法的其它步骤参见现有技术。
实施例2
如图2所示,第二方面,本发明公开一种分库分表管理专车订单数据的系统,包括订单接收模块M1、乘客查询模块M2、乘客映射模块M3、派单运算模块M4、司机查询模块M5、司机映射模块M6和订单检索模块M7,其中:
订单接收模块M1用于接收专车订单数据,获取对应的订单号以及乘客编码;
乘客查询模块M2用于查询乘客订单映射表,索引至其中乘客编码对应的订单号列表;
乘客映射模块M3用于将专车订单所对应的订单号与乘客编码建立映射后,将该订单号追加到乘客订单映射表中的订单号列表中;
派单运算模块M4用于基于节点数进行模运算,得到目标节点编号,将专车订单数据写入到目标节点编号所对应的目标节点,并进行派单;
司机查询模块M5用于获取接单司机信息,查询专车司机订单映射表,索引至其中司机编码对应的订单号列表;
司机映射模块M6用于将专车订单与司机编码建立映射后,将专车订单对应的订单号追加到司机订单映射表中的订单号列表中;
订单检索模块M7用于获取专车订单数据的检索请求,基于对应的乘客编码或司机编码,从乘客订单映射表或司机订单映射表中进行检索,比对后获取目标节点编号,从目标节点编号对应的目标节点中输出专车订单数据。
作为优选实施方式,所述派单运算模块M4在运行时,具体执行:
对专车订单对应的订单号进行哈希计算,以获得唯一对应的哈希值,获取节点信息,所述节点信息包括节点总数和节点所对应的节点编号,然后基于哈希值与节点总数进行模运算,以选取目标节点编号,进而选定目标节点;
所述模运算的计算公式为p=h%n,其中,p为目标节点编号,h为哈希值,n为节点总数,选取其中哈希值与节点总数相除后取得的余数作为目标节点编号。
所述订单检索模块M7在运行时,具体执行:
获取专车订单数据的检索请求,从检索请求中获取乘客编号或司机编号,从而确定检索请求源,基于检索请求源的类型查询对应的乘客订单映射表或司机订单映射表,索引至乘客订单映射表或司机订单映射表中乘客编号或司机编号所对应的订单号列表,并依次对订单号列表中的订单号进行哈希计算,以分别获取订单号相对应的哈希值,获取节点总数,基于哈希值和节点总数进行模运算得到目标节点编号,进而从目标节点中获取专车订单数据;所述模运算的计算公式为p=h%n。
所述订单接收模块M1中,还包括:乘客历史查询单元,其用于判断乘客订单映射表中是否存在专车订单对应的乘客编码;
若存在,则执行查询乘客订单映射表;
若不存在,则将乘客编码与订单号建立映射,并在乘客订单映射表中基于乘客编码建立订单号列表,将订单号添加到订单号列表中。
所述司机查询模块M5中,还包括:司机历史查询单元,其用于判断司机订单映射表中是否存在接单司机所对应的司机编码;
若存在,则执行查询司机订单映射表;
若不存在,则将司机编码与订单号建立映射,并在司机订单映射表中基于司机编码建立订单号列表,将订单号添加到订单号列表中。
综上所述,本实施例所述的分库分表管理专车订单数据的系统在运行时,能执行实施例1中所述的分库分表管理专车订单数据的方法的全部步骤,从而实现分库分表管理专车订单。
本实施例所述的分库分表管理专车订单数据的系统的其它结构参见现有技术。
实施例3
本发明还公开一种电子设备,至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,所述至少一个处理器执行指令时,具体实现以下的步骤:接收专车订单数据,获取对应的订单号以及乘客编码;查询乘客订单映射表,索引至其中乘客编码对应的订单号列表;将专车订单所对应的订单号与乘客编码建立映射后,将该订单号追加到乘客订单映射表中的订单号列表中;基于节点数进行模运算,得到目标节点编号,将专车订单数据写入到目标节点编号所对应的目标节点,并进行派单;获取接单司机信息,查询专车司机订单映射表,索引至其中司机编码对应的订单号列表;将专车订单与司机编码建立映射后,将专车订单对应的订单号追加到司机订单映射表中的订单号列表中;获取专车订单数据的检索请求,基于对应的乘客编码或司机编码,从乘客订单映射表或司机订单映射表中进行检索,比对后获取目标节点编号,从目标节点编号对应的目标节点中输出专车订单数据。
实施例4
本发明还公开一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时,具体实现以下步骤:接收专车订单数据,获取对应的订单号以及乘客编码;查询乘客订单映射表,索引至其中乘客编码对应的订单号列表;将专车订单所对应的订单号与乘客编码建立映射后,将该订单号追加到乘客订单映射表中的订单号列表中;基于节点数进行模运算,得到目标节点编号,将专车订单数据写入到目标节点编号所对应的目标节点,并进行派单;获取接单司机信息,查询专车司机订单映射表,索引至其中司机编码对应的订单号列表;将专车订单与司机编码建立映射后,将专车订单对应的订单号追加到司机订单映射表中的订单号列表中;获取专车订单数据的检索请求,基于对应的乘客编码或司机编码,从乘客订单映射表或司机订单映射表中进行检索,比对后获取目标节点编号,从目标节点编号对应的目标节点中输出专车订单数据。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,上述编程语言包括面向对象的编程语言—诸如Smalltalk、C++、Java等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,上述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。
Claims (10)
1.一种分库分表管理专车订单数据的方法,其特征在于,包括以下步骤:
接收专车订单数据,获取对应的订单号以及乘客编码;
查询乘客订单映射表,索引至其中乘客编码对应的订单号列表;
将专车订单所对应的订单号与乘客编码建立映射后,将该订单号追加到乘客订单映射表中的订单号列表中;
基于节点数进行模运算,得到目标节点编号,将专车订单数据写入到目标节点编号所对应的目标节点,并进行派单;
获取接单司机信息,查询专车司机订单映射表,索引至其中司机编码对应的订单号列表;
将专车订单与司机编码建立映射后,将专车订单对应的订单号追加到司机订单映射表中的订单号列表中;
获取专车订单数据的检索请求,基于对应的乘客编码或司机编码,从乘客订单映射表或司机订单映射表中进行检索,比对后获取目标节点编号,从目标节点编号对应的目标节点中输出专车订单数据。
2.根据权利要求1所述的分库分表管理专车订单数据的方法,其特征在于,所述基于节点数进行模运算,得到节点编号,具体包括:
对专车订单对应的订单号进行哈希计算,以获得唯一对应的哈希值,获取节点信息,所述节点信息包括节点总数和节点所对应的节点编号,然后基于哈希值与节点总数进行模运算,以选取目标节点编号,进而选定目标节点;
所述模运算的计算公式为p=h%n,其中,p为目标节点编号,h为哈希值,n为节点总数,选取其中哈希值与节点总数相除后取得的余数作为目标节点编号。
3.根据权利要求2所述的分库分表管理专车订单数据的方法,其特征在于,所述从乘客订单映射表或司机订单映射表中进行检索,比对后获取节点编号,从节点编号对应的节点中输出专车订单数据,具体包括:
获取专车订单数据的检索请求,从检索请求中获取乘客编号或司机编号,从而确定检索请求源,基于检索请求源的类型查询对应的乘客订单映射表或司机订单映射表,索引至乘客订单映射表或司机订单映射表中乘客编号或司机编号所对应的订单号列表,并依次对订单号列表中的订单号进行哈希计算,以分别获取订单号相对应的哈希值,获取节点总数,基于哈希值和节点总数进行模运算得到目标节点编号,进而从目标节点中获取专车订单数据;
所述模运算的计算公式为p=h%n。
4.根据权利要求1所述的分库分表管理专车订单数据的方法,其特征在于,所述接收专车订单数据,获取对应的订单号以及乘客编码后,还包括:
判断乘客订单映射表中是否存在专车订单对应的乘客编码;
若存在,则执行查询乘客订单映射表;
若不存在,则将乘客编码与订单号建立映射,并在乘客订单映射表中基于乘客编码建立订单号列表,将订单号添加到订单号列表中。
5.根据权利要求4所述的分库分表管理专车订单数据的方法,其特征在于,所述获取接单司机信息后,还包括:
判断司机订单映射表中是否存在接单司机所对应的司机编码;
若存在,则执行查询司机订单映射表;
若不存在,则将司机编码与订单号建立映射,并在司机订单映射表中基于司机编码建立订单号列表,将订单号添加到订单号列表中。
6.一种分库分表管理专车订单数据的系统,其特征在于,包括订单接收模块、乘客查询模块、乘客映射模块、派单运算模块、司机查询模块、司机映射模块和订单检索模块,其中:
订单接收模块用于接收专车订单数据,获取对应的订单号以及乘客编码;
乘客查询模块用于查询乘客订单映射表,索引至其中乘客编码对应的订单号列表;
乘客映射模块用于将专车订单所对应的订单号与乘客编码建立映射后,将该订单号追加到乘客订单映射表中的订单号列表中;
派单运算模块用于基于节点数进行模运算,得到目标节点编号,将专车订单数据写入到目标节点编号所对应的目标节点,并进行派单;
司机查询模块用于获取接单司机信息,查询专车司机订单映射表,索引至其中司机编码对应的订单号列表;
司机映射模块用于将专车订单与司机编码建立映射后,将专车订单对应的订单号追加到司机订单映射表中的订单号列表中;
订单检索模块用于获取专车订单数据的检索请求,基于对应的乘客编码或司机编码,从乘客订单映射表或司机订单映射表中进行检索,比对后获取目标节点编号,从目标节点编号对应的目标节点中输出专车订单数据。
7.根据权利要求6所述的分库分表管理专车订单数据的系统,其特征在于,所述派单运算模块在运行时,具体执行:
对专车订单对应的订单号进行哈希计算,以获得唯一对应的哈希值,获取节点信息,所述节点信息包括节点总数和节点所对应的节点编号,然后基于哈希值与节点总数进行模运算,以选取目标节点编号,进而选定目标节点;
所述模运算的计算公式为p=h%n,其中,p为目标节点编号,h为哈希值,n为节点总数,选取其中哈希值与节点总数相除后取得的余数作为目标节点编号。
8.根据权利要求7所述的分库分表管理专车订单数据的系统,其特征在于,所述订单检索模块在运行时,具体执行:
获取专车订单数据的检索请求,从检索请求中获取乘客编号或司机编号,从而确定检索请求源,基于检索请求源的类型查询对应的乘客订单映射表或司机订单映射表,索引至乘客订单映射表或司机订单映射表中乘客编号或司机编号所对应的订单号列表,并依次对订单号列表中的订单号进行哈希计算,以分别获取订单号相对应的哈希值,获取节点总数,基于哈希值和节点总数进行模运算得到目标节点编号,进而从目标节点中获取专车订单数据;
所述模运算的计算公式为p=h%n。
9.根据权利要求6所述的分库分表管理专车订单数据的系统,其特征在于,所述订单接收模块中,还包括:
乘客历史查询单元,其用于判断乘客订单映射表中是否存在专车订单对应的乘客编码;
若存在,则执行查询乘客订单映射表;
若不存在,则将乘客编码与订单号建立映射,并在乘客订单映射表中基于乘客编码建立订单号列表,将订单号添加到订单号列表中。
10.根据权利要求9所述的分库分表管理专车订单数据的系统,其特征在于,所述司机查询模块中,还包括:
司机历史查询单元,其用于判断司机订单映射表中是否存在接单司机所对应的司机编码;
若存在,则执行查询司机订单映射表;
若不存在,则将司机编码与订单号建立映射,并在司机订单映射表中基于司机编码建立订单号列表,将订单号添加到订单号列表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210141650.2A CN114493799A (zh) | 2022-02-16 | 2022-02-16 | 一种分库分表管理专车订单数据的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210141650.2A CN114493799A (zh) | 2022-02-16 | 2022-02-16 | 一种分库分表管理专车订单数据的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114493799A true CN114493799A (zh) | 2022-05-13 |
Family
ID=81479822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210141650.2A Pending CN114493799A (zh) | 2022-02-16 | 2022-02-16 | 一种分库分表管理专车订单数据的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114493799A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115033577A (zh) * | 2022-08-15 | 2022-09-09 | 深圳市星卡软件技术开发有限公司 | 设备订单数据的存储方法、查询方法及装置 |
-
2022
- 2022-02-16 CN CN202210141650.2A patent/CN114493799A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115033577A (zh) * | 2022-08-15 | 2022-09-09 | 深圳市星卡软件技术开发有限公司 | 设备订单数据的存储方法、查询方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019080B (zh) | 数据访问方法和装置 | |
US20150161207A1 (en) | Assisting query and querying | |
CN109284321B (zh) | 数据加载方法、装置、计算设备和计算机可读存储介质 | |
EP2973047A1 (en) | Methods for managing applications using semantic modeling and tagging and devices thereof | |
CN108733317B (zh) | 数据存储方法和装置 | |
CN107733894B (zh) | 逻辑接口报文的比对方法、系统、设备及存储介质 | |
CN115757400B (zh) | 数据表处理方法、装置、电子设备和计算机可读介质 | |
CN112835904A (zh) | 一种数据处理方法和数据处理装置 | |
CN104765596A (zh) | 请求处理方法和装置 | |
CN114579561A (zh) | 数据处理方法和装置、存储介质 | |
CN112860953A (zh) | 图数据库的数据导入方法、装置、设备及存储介质 | |
CN108154024A (zh) | 一种数据检索方法、装置及电子设备 | |
CN114493799A (zh) | 一种分库分表管理专车订单数据的方法及系统 | |
CN106549860B (zh) | 信息获取方法和装置 | |
US9460137B2 (en) | Handling an increase in transactional data without requiring relocation of preexisting data between shards | |
US9529855B2 (en) | Systems and methods for point of interest data ingestion | |
CN104378393A (zh) | 一种资源分享方法和相应的装置 | |
CN110930101A (zh) | 确定订单的配送时间的方法、装置、电子设备和可读介质 | |
CN107463618B (zh) | 一种索引创建方法和装置 | |
CN111552703B (zh) | 一种数据处理方法及装置 | |
CN105095283A (zh) | 网络社交系统中准好友的推荐方法和系统 | |
CN103870603A (zh) | 目录管理方法和电子设备 | |
CN113393288A (zh) | 订单处理信息生成方法、装置、设备和计算机可读介质 | |
CN115794876A (zh) | 针对业务数据包的分片处理方法、装置、设备及存储介质 | |
CN113918659A (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 |