CN109739890A - 数据处理方法、装置及设备 - Google Patents
数据处理方法、装置及设备 Download PDFInfo
- Publication number
- CN109739890A CN109739890A CN201811645148.5A CN201811645148A CN109739890A CN 109739890 A CN109739890 A CN 109739890A CN 201811645148 A CN201811645148 A CN 201811645148A CN 109739890 A CN109739890 A CN 109739890A
- Authority
- CN
- China
- Prior art keywords
- data
- dining table
- theatrical performance
- request
- status indicator
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 56
- 230000000977 initiatory effect Effects 0.000 claims description 21
- 235000012054 meals Nutrition 0.000 claims description 4
- 238000007599 discharging Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 26
- 235000013305 food Nutrition 0.000 description 10
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 235000013361 beverage Nutrition 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018199 S phase Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 210000004899 c-terminal region Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000000291 postprandial effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/067—Enterprise or organisation modelling
-
- 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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- 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/10—Services
- G06Q50/12—Hotels or restaurants
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供一种数据处理方法、装置及设备,本说明书实施例中,餐桌数据包括有状态标识,所述状态标识指示所述目标餐桌处于使用状态或空闲状态,因此,在接收到开台请求后,通过状态标识可以确定目标餐桌的状态,若处于处于空闲状态,则锁定所述餐桌数据,生成所述目标餐桌的开台数据响应所述开台请求,由于餐桌数据被锁定,在出现开台请求并发的情况下,只针对一条开台请求生成当前开台数据,而针对其他开台请求的处理暂无法读取到餐桌数据,另外,在将所述餐桌状态字段更新为使用状态后,解锁所述餐桌数据,在处理其他并发的开台请求时,会发现餐桌处于使用状态,从而可以防止多条开台请求并发而生成多笔订单的情况。
Description
技术领域
本说明书涉及互联网技术领域,尤其涉及数据处理方法、装置及设备。
背景技术
随着互联网技术的发展,各行各业为用户提供的服务越来越智能化,例如餐饮服务行业中传统的人工点餐方式也逐渐被智能点餐系统所取代。在智能点餐场景中,就餐人员可以利用点餐客户端发起对餐桌的开台请求,以使服务端处理后续该餐桌的点餐流程。或者,也可以是由餐厅的服务人员利用点餐客户端发起对餐桌的开台请求。因此,有可能出现多人同时对同一餐桌发起开台请求的情况。基于此,需要提供一种更好的数据处理方案,防止请求并发情况下可能出现的错误问题。
发明内容
为克服相关技术中存在的问题,本说明书提供了数据处理方法、装置及设备。
根据本说明书实施例的第一方面,提供一种数据处理方法,包括:
获取针对目标餐桌的开台请求后,获取所述目标餐桌的餐桌数据;所述餐桌数据包括有状态标识,所述状态标识指示所述目标餐桌处于使用状态或空闲状态;
若所述状态标识指示所述目标餐桌处于空闲状态,将所述餐桌数据锁定,在更新所述状态标识为使用状态后,释放所述餐桌数据,同时生成所述目标餐桌的当前开台数据以响应所述开台请求;
若所述状态标识指示所述目标餐桌处于使用状态,则获取所述目标餐桌的当前开台数据以响应所述开台请求。
可选的,所述餐桌数据存储于数据库中,所述将所述餐桌数据锁定,包括:
向所述数据库发起针对所述餐桌数据的排他行级锁指令,以使所述数据库将所述餐桌数据锁定。
可选的,所述排他行级锁指令还携带有针对所述状态标识的更新信息,以使所述数据库在更新所述状态标识为使用状态后,释放所述餐桌数据。
可选的,所述开台请求由用户客户端或商户客户端发起,所述响应开台请求,包括:
将所述当前开台数据发送给所述用户客户端或商户客户端,以供所述用户客户端或商户客户端发起基于所述当前开台数据的点餐订单请求。
可选的,所述方法还包括:
在接收到所述点餐订单请求后,生成本地点餐订单数据并发送给所述用户客户端或商户客户端。
可选的,所述开台请求由商户客户端生成所述目标餐桌的点餐订单数据后发起,所述开台请求携带有所述商户客户端的点餐订单数据;
所述响应所述开台请求,包括:
基于所述商户客户端的点餐订单数据生成本地点餐订单数据,并将所述当前开台数据、所述商户客户端的点餐订单数据和所述本地点餐订单数据三者相关联。
可选的,所述方法还包括:
若接收到用户客户端的本地点餐订单数据,更新相关联的商户客户端的点餐订单数据;
若接收到商户客户端的点餐订单数据,更新相关联的本地点餐订单数据。
可选的,所述方法还包括:
在点餐订单处理完成后,将所述状态标识从使用状态更新为空闲状态。
可选的,所述方法还包括:
将所述本地点餐订单数据同步给其他处于连接状态、且发起针对所述目标餐桌的点餐订单请求的客户端。
根据本说明书实施例的第二方面,提供一种数据处理方法,包括:
获取针对服务资源的占用请求后,获取所述服务资源的资源数据;所述资源数据包括有状态标识,所述状态标识指示所述服务资源处于使用状态或空闲状态;
若所述状态标识指示所述服务资源处于空闲状态,将所述资源数据锁定,在更新所述状态标识为使用状态后,释放所述资源数据,同时生成所述服务资源的当前占用数据以响应所述占用请求;
若所述状态标识指示所述服务资源处于使用状态,则获取所述服务资源的当前占用数据以响应所述占用请求。
可选的,所述资源数据存储于数据库中,所述将所述资源数据锁定,包括:
向所述数据库发起针对所述资源数据的排他行级锁指令,以使所述数据库将所述资源数据锁定。
可选的,所述排他行级锁指令还携带有针对所述状态标识的更新信息,以使所述数据库在更新所述状态标识为使用状态后,释放所述资源数据。
可选的,所述占用请求由用户客户端或商户客户端发起,所述响应占用请求,包括:
将所述当前占用数据发送给所述用户客户端或商户客户端,以供所述用户客户端或商户客户端发起基于所述当前占用数据的订单请求。
可选的,还包括:
在接收到所述订单请求后,生成本地订单数据并发送给所述用户客户端或商户客户端。
可选的,所述占用请求由商户客户端生成所述服务资源的订单数据后发起,所述占用请求携带有所述商户客户端的订单数据;
所述响应所述占用请求,包括:
基于所述商户客户端的订单数据生成本地订单数据,并将所述当前占用数据、所述商户客户端的订单数据和所述本地订单数据三者相关联。
可选的,还包括:
若接收到用户客户端的本地订单数据,更新相关联的商户客户端的订单数据;
若接收到商户客户端的订单数据,更新相关联的本地订单数据。
可选的,所述方法还包括:
在订单处理完成后,将所述状态标识从使用状态更新为空闲状态。
可选的,所述方法还包括:
将所述本地订单数据同步给其他处于连接状态、且发起针对所述服务资源的订单请求的客户端。
根据本说明书实施例的第三方面,提供一种数据处理方法,所述方法包括:
确定需开台的目标餐桌,向服务端发起针对所述目标餐桌的开台请求;
获取所述服务端返回的所述目标餐桌的当前开台数据;其中,所述当前开台数据由所述服务端通过如下方式生成:获取所述目标餐桌的餐桌数据,将所述目标餐桌的餐桌数据锁定,将所述餐桌数据的状态标识从空闲状态更新为使用状态后,释放所述餐桌数据后生成。
可选的,所述确定需开台的目标餐桌,包括:
调用摄像模块获取条形码图像数据,通过识别所述条形码图像数据携带的餐桌标识确定需占用的目标餐桌。
可选的,所述方法还包括:
提供点餐订单发起页面,通过所述点餐订单发起页面获取点餐订单信息,基于所述当前开台数据向服务端发起携带有所述点餐订单信息的点餐订单请求。
可选的,所述方法还包括:
接收服务端发送的订单数据并展示。
根据本说明书实施例的第四方面,提供一种数据处理方法,所述方法包括:
确定需占用的服务资源,向服务端发起针对所述服务资源的占用请求;
获取所述服务端返回的所述服务资源的当前占用数据;其中,所述当前占用数据由所述服务端通过如下方式生成:获取所述服务资源的资源数据,将服务资源的资源数据锁定,将所述资源数据的状态标识从空闲状态更新为使用状态后,释放所述资源数据后生成。
可选的,所述确定需占用的服务资源,包括:
调用摄像模块获取条形码图像数据,通过识别所述条形码图像数据携带的服务资源标识确定需占用的服务资源。
可选的,所述方法还包括:
提供订单发起页面,通过所述订单发起页面获取订单信息,基于所述当前占用数据向服务端发起携带有所述订单信息的订单请求。
可选的,所述方法还包括:
获取服务端发送的订单数据并展示。
根据本说明书实施例的第五方面,提供一种数据处理装置,包括:
开台请求获取模块,用于:获取针对目标餐桌的开台请求后,获取所述目标餐桌的餐桌数据;所述餐桌数据包括有状态标识,所述状态标识指示所述目标餐桌处于使用状态或空闲状态;
开台数据生成模块,用于:若所述状态标识指示所述目标餐桌处于空闲状态,将所述餐桌数据锁定,在更新所述状态标识为使用状态后,释放所述餐桌数据,同时生成所述目标餐桌的当前开台数据以响应所述开台请求;
开台数据获取模块,用于:若所述状态标识指示所述目标餐桌处于使用状态,则获取所述目标餐桌的当前开台数据以响应所述开台请求。
可选的,所述餐桌数据存储于数据库中,所述开台数据生成模块,具体用于:
向所述数据库发起针对所述餐桌数据的排他行级锁指令,以使所述数据库将所述餐桌数据锁定。
可选的,所述排他行级锁指令还携带有针对所述状态标识的更新信息,以使所述数据库在更新所述状态标识为使用状态后,释放所述餐桌数据。
可选的,所述开台请求由用户客户端或商户客户端发起,所述开台数据生成模块,具体用于:
将所述当前开台数据发送给所述用户客户端或商户客户端,以供所述用户客户端或商户客户端发起基于所述当前开台数据的点餐订单请求。
可选的,所述装置还包括订单数据发送模块,用于:
在接收到所述点餐订单请求后,生成本地点餐订单数据并发送给所述用户客户端或商户客户端。
可选的,所述开台请求由商户客户端生成所述目标餐桌的点餐订单数据后发起,所述开台请求携带有所述商户客户端的点餐订单数据;
所述开台数据生成模块/开台数据获取模块在响应所述开台请求时,具体用于:
基于所述商户客户端的点餐订单数据生成本地点餐订单数据,并将所述当前开台数据、所述商户客户端的点餐订单数据和所述本地点餐订单数据三者相关联。
可选的,所述装置还包括更新模块,用于:
若接收到用户客户端的本地点餐订单数据,更新相关联的商户客户端的点餐订单数据;
若接收到商户客户端的点餐订单数据,更新相关联的本地点餐订单数据。
可选的,所述更新模块,还用于:
在点餐订单处理完成后,将所述状态标识从使用状态更新为空闲状态。
可选的,所述订单数据发送模块,还用于:
将所述本地点餐订单数据同步给其他处于连接状态、且发起针对所述目标餐桌的点餐订单请求的客户端。
根据本说明书实施例的第六方面,提供一种数据处理装置,包括:
占用请求获取模块,用于:获取针对服务资源的占用请求后,获取所述服务资源的资源数据;所述资源数据包括有状态标识,所述状态标识指示所述服务资源处于使用状态或空闲状态;
占用数据生成模块,用于:若所述状态标识指示所述服务资源处于空闲状态,将所述资源数据锁定,在更新所述状态标识为使用状态后,释放所述资源数据,同时生成所述服务资源的当前占用数据以响应所述占用请求;
占用数据获取模块,用于:若所述状态标识指示所述服务资源处于使用状态,则获取所述服务资源的当前占用数据以响应所述占用请求。
可选的,所述资源数据存储于数据库中,所述占用数据生成模块,具体用于:向所述数据库发起针对所述资源数据的排他行级锁指令,以使所述数据库将所述资源数据锁定。
可选的,所述排他行级锁指令还携带有针对所述状态标识的更新信息,以使所述数据库在更新所述状态标识为使用状态后,释放所述资源数据。
可选的,所述占用请求由用户客户端或商户客户端发起,所述占用数据生成模块,具体用于:
将所述当前占用数据发送给所述用户客户端或商户客户端,以供所述用户客户端或商户客户端发起基于所述当前占用数据的订单请求。
可选的,所述装置还包括订单数据发送模块,用于:
在接收到所述订单请求后,生成本地订单数据并发送给所述用户客户端或商户客户端。
可选的,所述占用请求由商户客户端生成所述服务资源的订单数据后发起,所述占用请求携带有所述商户客户端的订单数据;
所述占用数据生成模块/占用数据获取模块在响应所述占用请求时,具体用于:
基于所述商户客户端的订单数据生成本地订单数据,并将所述当前占用数据、所述商户客户端的订单数据和所述本地订单数据三者相关联。
可选的,所述装置还包括更新模块,用于:
若接收到用户客户端的本地订单数据,更新相关联的商户客户端的订单数据;
若接收到商户客户端的订单数据,更新相关联的本地订单数据。
可选的,所述更新模块,还用于:
在订单处理完成后,将所述状态标识从使用状态更新为空闲状态。
可选的,所述订单数据发送模块,还用于:
将所述本地订单数据同步给其他处于连接状态、且发起针对所述服务资源的订单请求的客户端。
根据本说明书实施例的第七方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述数据处理方法。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,餐桌数据包括有状态标识,所述状态标识指示所述目标餐桌处于使用状态或空闲状态,因此,在接收到开台请求后,通过状态标识可以确定目标餐桌的状态,若处于处于空闲状态,则锁定所述餐桌数据,生成所述目标餐桌的开台数据响应所述开台请求,由于餐桌数据被锁定,在出现开台请求并发的情况下,只针对一条开台请求生成当前开台数据,而针对其他开台请求的处理暂无法读取到餐桌数据,另外,在将所述餐桌状态字段更新为使用状态后,解锁所述餐桌数据,在处理其他并发的开台请求时,会发现餐桌处于使用状态,从而可以防止多条开台请求并发而生成多笔订单的情况。
本说明书实施例中,服务资源的资源数据包括有状态标识,所述状态标识指示所述服务资源处于使用状态或空闲状态,因此,在接收到占用请求后,通过状态标识可以确定服务资源的状态,若处于处于空闲状态,则锁定所述资源数据,生成所述服务资源的当前占用数据响应所述开台请求,由于资源数据被锁定,在出现占用请求并发的情况下,只针对一条占用请求生成当前占用数据,而针对其他占用请求的处理暂无法读取到资源数据,另外,在将所述状态字段更新为使用状态后,解锁所述资源数据,在处理其他并发的占用请求时,会发现服务资源处于使用状态,从而可以防止多条占用请求并发而生成多笔订单的情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书根据一示例性实施例示出的一种餐饮场景示意图。
图2、图3A至图3C和图4分别是本说明书根据一示例性实施例示出的数据处理方法的流程图。
图5是本说明书根据一示例性实施例示出的一种数据处理装置所在计算机设备的一种硬件结构图。
图6和7分别是本说明书根据一示例性实施例示出的数据处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着互联网技术的发展,各行各业为用户提供的服务越来越智能化。在很多业务场景中,服务方向用户提供的服务涉及对服务资源的占用,如何处理该占用流程将影响到服务流程的正常执行。例如生活服务行业就涉及多种此类场景的应用:
以密室逃脱场景为例,团队中的任一用户可以利用客户端发起对某间密室的占用请求,以使服务端处理后续该间密室的服务流程。或者,也可以是由商户的服务人员利用客户端发起对该间密室的占用请求。因此,有可能出现多人同时对同一该间密室发起占用请求的情况。
以KTV场景为例,团队中的任一可以利用客户端发起对某个包间的占用请求,以使服务端处理后续该包间的服务流程。或者,也可以是由商户的服务人员利用客户端发起对包间的占用请求。因此,有可能出现多人同时对同一包间发起占用请求的情况。
在智能点餐场景中,就餐人员可以利用点餐客户端发起对餐桌的开台请求,以使服务端处理后续该餐桌的点餐流程。或者,也可以是由餐厅的服务人员利用点餐客户端发起对餐桌的开台请求。因此,有可能出现多人同时对同一餐桌发起开台请求的情况。
在上述各类场景中,服务方提供有某项服务资源供用户使用,业务流程中需要执行服务资源的占用流程,由于可能出现的多方同时对同一服务资源发起占用请求的情况,本说明书实施例提供的数据处理方案能够防止请求并发情况下可能出现的错误问题。
以餐饮场景为例对本说明书提供的数据处理方案进行说明,如图1所示,是本说明书根据一示例性实施例示出的一种餐饮场景示意图,图1中涉及本地生活服务方配置的服务端、该本地生活服务方提供给C端(client,客户端)用户的具有点餐等功能的客户端(即提供给就餐人员的一类客户端),以及线下商户所使用的具有智能收银等功能的商户端(即提供给店铺方人员的一类客户端)。
作为例子,线下商户可以使用商户端在商户端提供方侧注册用户,并可提交餐饮相关信息,例如菜单信息、优惠信息或餐桌信息等。其中,餐桌信息指示该商户内可供用户使用的餐桌数量、每张餐桌的餐桌标识等。
本地生活服务方提供有餐饮服务平台,线下商户可以利用该餐饮服务平台向用户提供餐饮服务。作为例子,本地生活服务方向用户提供有客户端,可以通过该客户端展示多家入驻的线下商户,用户可以利用客户端提供的餐饮功能触发点餐功能。作为例子,餐桌上可以提供有二维码,该二维码携带有商户标识和餐桌标识,用户可利用客户端扫描二维码后,客户端可以识别出二维码中的商户标识和餐桌标识,从而启动后续的点餐流程,例如,服务端为生成一笔有关该餐桌的点餐订单。在另一些例子中,线下商户也可以使用商户端为就餐人员生成一笔有关该餐桌的点餐订单。
在一些场景中有可能出现并发情况,点餐订单的生成过程有可能出现问题。例如某个团队来到餐厅就餐,团队成员中多人同时发起开台请求;或者是,团队成员A使用客户端扫描餐桌上的二维码点餐,此时,客户端向服务端发送点餐处理请求。同时,团队成员B在服务台请求服务人员下单,服务人员利用商户客户端也发起了开台请求。
基于此,为了防止数据处理错误,如图2所示,是本说明书根据一示例性实施例示出的一种数据处理方法的流程图,包括如下步骤:
在步骤202中,获取针对目标餐桌的开台请求后,获取所述目标餐桌的餐桌数据;所述餐桌数据包括有状态标识,所述状态标识指示所述目标餐桌处于使用状态或空闲状态。
在步骤204中,若所述状态标识指示所述目标餐桌处于空闲状态,将所述餐桌数据锁定,在更新所述状态标识为使用状态后,释放所述餐桌数据,同时生成所述目标餐桌的当前开台数据以响应所述开台请求。
在步骤206中,若所述状态标识指示所述目标餐桌处于使用状态,则获取所述目标餐桌的当前开台数据以响应所述开台请求。
餐桌数据可以包括餐桌标识、餐桌所属店铺标识等餐桌的属性信息。本说明书实施例中,餐桌数据包括有状态标识,所述状态标识指示所述目标餐桌处于使用状态或空闲状态,在需要时,通过读取餐桌数据的状态标识,可以获知餐桌当前的使用情况。其中,可以是在需要开台时写入使用状态,在该餐桌的订单完成后更新为空闲状态,具体的处理过程后续进行详细说明。
本说明书实施例中,与餐桌数据不同,开台数据是指服务端为餐桌被就餐人员占用后创建的数据,该开台数据指示对应餐桌当前被就餐人员占用,开台数据可以包括有自身数据的唯一标识,还可以包括餐桌标识、店铺标识或开台时间等其他开台相关信息。可以理解,一张餐桌可以对应一条餐桌数据,但一张餐桌可以对应多条开台数据,包括当前开台数据和历史开台数据,当前开台数据是指餐桌被占用期间的开台数据,当餐桌的点餐订单完成或餐桌解除占用,餐桌从使用状态变化为空闲状态,相应地当前开台数据的生命周期完成,当前开台数据转换为历史开台数据。
本实施例中,针对目标餐桌的开台请求,可以由多方发起,例如商户方的服务人员使用商户端发起或者是就餐人员使用用户端发起。实际应用中,可能会发生一次请求的情况,也可以出现并发请求的情况。
具体的,开台请求可以有多种方式实现,一种可选的实现方式是,提供有对应餐桌的二维码(二维码图像粘贴在餐桌上),客户端提供有扫描功能,客户端通过扫描该二维码可以解析出该二维码中携带的该餐桌的店铺标识和餐桌标识,从而确定用户针对哪张餐桌发起开台请求。在另一些例子中,也可以是客户端中提供有餐桌编号输入功能,用户在客户端的店铺页面中输入餐桌编号,客户端获取用户的输入信息后发起开台请求。
以发生一次开台请求的情况为例,假设当前目标餐桌处于空闲状态,就餐人员(或商户方的服务人员)就坐后,使用客户端发起开台请求后,客户端将开台请求发送至服务端。服务端可以应用本实施例的数据处理方案,在接收到开台请求后,可以获取该目标餐桌的餐桌数据,可选的,可以以目标餐桌的唯一标识从数据库中查询该目标餐桌的餐桌数据,其中,该唯一标识可以根据需要灵活配置,例如可以是由餐桌所属店铺标识和餐桌标识构成。
查询到目标餐桌的餐桌数据后,可以通过状态标识获知目标餐桌当前的状态,若状态标识指示所述目标餐桌处于空闲状态,则可以针对该目标餐桌进行开台。作为例子,可以将所述餐桌数据锁定,在更新所述状态标识为使用状态后,释放所述餐桌数据,同时生成所述目标餐桌的当前开台数据以响应所述开台请求。本实施例中,由于生成当前开台数据以及更新状态标识需要一定的处理时间,通过将餐桌数据锁定,可以使餐桌数据只由一个开台请求的处理进行操作,从而防止有其他开台请求的处理进程同时对餐桌数据进行操作。
可选的,锁定的过程,可以利用数据库管理系统所提供的锁定功能而实现,例如,数据库管理系提供了多种锁类型:乐观锁、悲观锁、排他锁和共享锁等。本实施例中,餐桌数据存储于数据库中,由于只需要针对一条餐桌数据执行锁定,并且需要防止其他处理对象对餐桌数据进行操作,因此,可以采用排他行级锁对餐桌数据进行锁定,可选的,可以向所述数据库发起针对所述餐桌数据的排他行级锁指令,“排他”表示只允许一个处理者对餐桌数据进行操作,“行级”表示只针对表中的一条数据执行操作,无需锁定整张表。在餐桌数据锁定以确保没有其他处理者可以操作餐桌数据后,可以更新餐桌数据的状态标识,可选的,可以向数据库发起对餐桌数据的状态标识的更新指令,也可以令排他行级锁指令还携带有针对所述状态标识的更新信息,以使所述数据库在更新所述状态标识为使用状态后,释放所述餐桌数据。。作为例子,可以采用如下的排他行级锁指令:Select*from tab1forupdate,该SQL语句标识可以查找出表tab1中某一行的数据并锁定,进行修改后自动释放。
以服务端接收到多个待处理的开台请求,或者是同时接收到多个待处理的开台请求为例,通过上述方案可以解决并发问题。作为例子,假设有两条开台请求,服务端可以依照时间顺序获取开台请求,首先获取开台请求A,在处理开台请求A时,执行步骤204,为开台请求A生成当前开台数据,在修改餐桌数据的状态标识后解锁。在锁定过程中,其他业务无法对该餐桌数据执行修改,从而可以防止在有多条开台请求的情况下出现处理错误的情况。在处理好开台请求A后,可以处理开台请求B,由于在处理开台请求B时,餐桌数据中的状态标识指示目标餐桌处于使用状态,因此开台请求B不会开台,针对开台请求B则返回当前开台数据。可选的,若采用多线程处理的方式,由于餐桌数据只能被一个任务锁住,因此本实施例方案可以保证餐桌数据只被其中一条请求锁定并处理。
由上述实施例可见,餐桌数据包括有状态标识,所述状态标识指示所述目标餐桌处于使用状态或空闲状态,因此,在接收到开台请求后,通过状态标识可以确定目标餐桌的状态,若处于空闲状态,则锁定所述餐桌数据,生成所述目标餐桌的当前开台数据响应所述开台请求,由于餐桌数据被锁定,在出现开台请求并发的情况下,只针对一条开台请求生成当前开台数据,而其他开台请求无法读取到餐桌数据,另外,在将所述餐桌状态字段更新为使用状态后,解锁所述餐桌数据,在处理其他并发的开台请求时,会发现餐桌处于使用状态,从而可以防止多条开台请求并发而生成多笔订单的情况。
在目标餐桌开台后,就餐人员可能开始点菜或者也有可能没有点菜。在一些例子中,当前开台数据还可以包括后续在该目标餐桌上发生的点餐订单相关信息。在另一些例子中,当前开台数据可以与该目标餐桌上发生的点餐订单区分,可选的,开台请求由用户客户端或商户客户端发起,所述响应开台请求,可以包括:将所述当前开台数据发送给所述用户客户端或商户客户端,以供所述用户客户端或商户客户端基于所述当前开台数据发起的点餐订单请求。服务端在接收到所述点餐订单请求后,可以生成本地点餐订单数据并发送给所述用户客户端或商户客户端。在点餐订单处理完成后,表示该餐桌可以解除占用,可以将所述状态标识从使用状态更新为空闲状态。
接下来再通过如下实施例进行详细说明。
如图3A所示,是本说明书根据一示例性实施例示出的一种数据处理流程图,图3A是从客户端侧的角度描述数据处理方法的流程,如图3A所示,是本说明书根据一示例性实施例示出的一种数据处理流程图,图3A是从客户端侧的角度描述数据处理方法的流程。具体的,图3A包括如下步骤:
在步骤302中,确定需开台的目标餐桌,向服务端发起针对所述目标餐桌的开台请求。
在步骤304中,获取所述服务端返回的所述目标餐桌的当前开台数据;其中,所述当前开台数据由所述服务端通过如下方式生成:获取所述目标餐桌的餐桌数据,将所述目标餐桌的餐桌数据锁定,将所述餐桌数据的状态标识从空闲状态更新为使用状态后,释放所述餐桌数据后生成。
结合图3B和图3C进行说明,用户客户端由就餐人员持有,就餐人员可以利用用户客户端提供的图形码扫描功能,通过用户客户端扫描餐桌的二维码,其中,客户端可以调用摄像模块获取条形码图像数据,通过识别所述条形码图像数据携带的餐桌标识确定需占用的目标餐桌,具体的步骤可以包括:
311、用户客户端扫描二维码后,向服务端发起携带有二维码信息(指示目标餐桌的店铺标识和餐桌标识)的餐桌状态查询请求;
312、服务端通过解析二维码信息后,获取到目标餐桌的店铺标识和餐桌标识,之后,根据店铺标识和餐桌标识查询目标餐桌的状态。
313、可选的,服务端可以通过店铺标识和餐桌标识获取目标餐桌的餐桌数据,通过读取餐桌数据中的状态标识,确定目标餐桌当前的使用状态:是空闲状态还是使用状态。若是使用状态,表示目标餐桌已被开台,服务端可以获取目标餐桌的当前开台数据返回给用户客户端;若是空闲状态,服务端可以返回空闲状态给用户客户端。
314、用户客户端若接收到当前开台数据,则可确定目标餐桌已经被开台。若接收到空闲状态,则可确定目标餐桌未被开台,用户客户端可以向服务端发起开台请求。
315、服务端根据开台请求,对目标餐桌生成当前开台数据并返回给用户客户端;可选的,当前开台数据与目标餐桌相对应,当前开台数据的数据ID可以基于目标餐桌的店铺标识和餐桌标识而生成。由于所述状态标识指示所述目标餐桌处于空闲状态,可以将所述餐桌数据锁定,将所述状态标识更新为使用状态后,释放所述餐桌数据,同时生成所述目标餐桌的当前开台数据以响应所述开台请求。
316、用户客户端接收到当前开台数据。
317、在此期间,用户可以通过用户客户端进行点餐,客户端可以提供点餐订单发起页面,通过所述点餐订单发起页面获取点餐订单信息,基于所述当前开台数据向服务端发起携带有所述点餐订单信息的点餐订单请求。用户客户端在确定用户点餐后,可以向服务端发起基于当前开台数据的点餐订单请求,可选的,点餐订单请求可以包括:店铺标识、餐桌标识、当前开台数据(或者是当前开台数据的数据ID)以及点餐相关信息。
318、服务端接收到点餐订单请求后,可以生成点餐订单数据。可选的,服务端可以将点餐订单数据同步给其他客户端,例如商户方的客户端等。
可选的,客户端可以接收服务端发送的订单数据并展示。
319、服务端可以根据点餐订单的状态确定该笔点餐订单是否完成,从而确定用户处于就餐状态。在此期间,其他用户也可能扫描该餐桌的二维码以查阅订单情况或点餐,可选的,其他用户使用用户客户端时,用户客户端提供的功能和处理过程也同上述流程一致,其他用户利用用户客户端扫描二维码后,处理流程仍如前述的步骤一致,区别在于,由于该目标餐桌的点餐订单数据已创建,服务端可以返回点餐订单数据给用户客户端,从而用户客户端可以获取到点餐订单数据并展示。同时,由于该用户客户端与服务端处于连接状态,在后续点餐过程中,服务端可以持续地同步点餐订单至该客户端。
在一些例子中,商户客户端的处理流程可以与上述用户客户端的流程一致,在另一些例子中,商户客户端与用户客户端(以及服务端)可能是不同厂商的产品,因此商户客户端的处理流程可以如下述图3C所示:
321、本实施例中,商户服务人员可以为就餐人员开台,具体的,服务人员使用商户客户端为目标餐桌开台及下单,商户客户端生成本侧的点餐订单数据。
322、商户客户端将商户侧的点餐订单数据(携带有目标餐桌的店铺标识、餐桌标识和点餐相关信息等)同步给服务端。
323、服务端接收到商户侧的点餐订单数据后,可以查询该目标餐桌是否有当前开台数据。
324、若有,则可以获取到当前开台数据,并将当前开台数据、所述商户客户端的点餐订单数据相关联;若还有本地点餐订单数据,还可以将三者相关联。若没有获取到当前开台数据,则可以执行开台处理流程:服务端可以获取所述目标餐桌的餐桌数据,通过读取餐桌数据中的状态标识,确定目标餐桌当前的使用状态:是空闲状态还是使用状态。
若是空闲状态,对目标餐桌生成当前开台数据;可选的,当前开台数据与目标餐桌相对应,当前开台数据的数据ID可以基于目标餐桌的店铺标识和餐桌标识而生成。由于所述状态标识指示所述目标餐桌处于空闲状态,将所述餐桌数据锁定,将所述状态标识更新为使用状态后,释放所述餐桌数据,同时生成所述目标餐桌的当前开台数据以响应所述开台请求。其中,服务端还可以根据商户侧的点餐订单数据,生成本侧的本地点餐订单数据,并将所述当前开台数据、所述商户客户端的点餐订单数据和所述本地点餐订单数据三者相关联。
若是使用状态,则获取所述目标餐桌的当前开台数据以响应所述开台请求。
326、将当前开台数据、所述商户客户端的点餐订单数据相关联;若还有本地点餐订单数据,还可以将三者相关联。
327、在目标餐桌的点餐订单进行期间,有可能有其他用户或服务方会进行加菜等操作。可选的,若接收到用户客户端的本地点餐订单数据,更新相关联的商户客户端的点餐订单数据;若接收到商户客户端的点餐订单数据,更新相关联的本地点餐订单数据。
假设有多个请求同时调用开台接口,服务端可以依照时间顺序获取开台请求,首先获取开台请求A,在处理开台请求A时,为开台请求生成当前开台数据,在修改餐桌数据的状态标识后解锁。在锁定过程中,其他业务无法对该餐桌数据执行修改,从而可以防止在有多条开台请求的情况下出现处理错误的情况。在处理好开台请求A后,可以处理开台请求B,由于在处理开台请求B时,餐桌数据中的状态标识指示目标餐桌处于使用状态,因此开台请求B不会开台,返回当前开台数据响应开台请求B。
上述实施例以点餐场景对本实施例的数据处理方案进行了详细说明,正如前述所言,生活服务等行业也常常面临此类问题,其他如计算机等领域也有可能涉及,因此本说明书根据一示例性实施例还提供了另一种数据处理方法,可应用于多类场景中,如图4所示,是本说明书根据一示例性实施例示出的另一种数据处理方法的流程图,包括如下步骤:
在步骤402中,获取针对服务资源的占用请求后,获取所述服务资源的资源数据;所述资源数据包括有状态标识,所述状态标识指示所述服务资源处于使用状态或空闲状态;
在步骤404中,若所述状态标识指示所述服务资源处于空闲状态,将所述资源数据锁定,在更新所述状态标识为使用状态后,释放所述资源数据,同时生成所述服务资源的当前占用数据以响应所述占用请求;
在步骤406中,若所述状态标识指示所述服务资源处于使用状态,则获取所述服务资源的当前占用数据以响应所述占用请求。
本实施例的服务资源是指服务方提供的、可供用户使用的资源,该服务资源根据不同实际应用场景可以表示不同对象,可以包括前述的密室、包间或餐桌,也可以是服务人员的服务时间范围,例如健身教练在2019年1月1日9点至10点的服务时间等;在一些计算机等应用场景中,还可以是处理线程或带宽资源等软件资源,或者还可以是内存、硬盘或服务器等硬件资源。
其中,资源数据可以包括资源标识、资源提供方标识等资源的属性信息。本说明书实施例中,资源数据包括有状态标识,所述状态标识指示所述服务资源处于使用状态或空闲状态,在需要时,通过读取资源数据的状态标识,可以获知服务资源当前的使用情况。其中,可以是在需要占用时写入使用状态,在该服务资源的订单完成后更新为空闲状态。
本说明书实施例中,与资源数据不同,占用数据是指服务端为服务资源被使用方占用后创建的数据,该占用数据指示对应服务资源当前被使用方占用,资源数据可以包括有自身数据的唯一标识,还可以包括资源标识、资源提供方标识或占用时间等其他占用相关信息。可以理解,一项服务资源可以对应一条资源数据,但一项服务资源可以对应多条占用数据,包括当前占用数据和历史占用数据,当前占用数据是指服务资源被占用期间的开台数据,当服务资源的订单完成或服务资源解除占用,服务资源从使用状态变化为空闲状态,相应地当前占用数据的生命周期完成,当前占用数据转换为历史占用数据。
本实施例中,针对服务资源的占用请求,可以由多方发起,例如商户方的服务人员使用商户端发起或者是用户使用用户端发起。实际应用中,可能会发生一次请求的情况,也可以出现并发请求的情况。服务端可以应用本实施例的数据处理方案,在接收到占用请求后,可以获取该服务资源的资源数据,可选的,可以以服务资源的唯一标识从数据库中查询该服务资源的资源数据。
查询到服务资源的资源数据后,可以通过状态标识获知服务资源当前的状态,若状态标识指示所述服务资源处于空闲状态,则可以执行对该服务资源的占用流程。作为例子,可以将所述资源数据锁定,在更新所述状态标识为使用状态后,释放所述资源数据,同时生成所述服务资源的当前占用数据以响应所述占用请求。本实施例中,由于生成当前占用数据以及更新状态标识需要一定的处理时间,通过将资源数据锁定,可以使资源数据只由一个占用请求的处理进行操作,从而防止有其他占用请求的处理进程同时对资源数据进行操作。可选的,所述资源数据存储于数据库中,所述将所述资源数据锁定,包括:向所述数据库发起针对所述资源数据的排他行级锁指令,以使所述数据库将所述资源数据锁定。可选的,所述排他行级锁指令还携带有针对所述状态标识的更新信息,以使所述数据库在更新所述状态标识为使用状态后,释放所述资源数据。
以服务端接收到多个待处理的占用请求,或者是同时接收到多个待处理的占用请求为例,通过上述方案可以解决并发问题。作为例子,假设有两条占用请求,服务端可以依照时间顺序获取占用请求,首先获取占用请求A,在处理开台请求A时,执行步骤404,为占用请求A生成当前占用数据,在修改资源数据的状态标识后解锁。在锁定过程中,其他业务无法对该资源数据执行修改,从而可以防止在有多条占用请求的情况下出现处理错误的情况。在处理好占用请求A后,可以处理占用请求B,由于在处理占用请求B时,资源数据中的状态标识指示服务资源处于使用状态,因此占用请求B不会占用该资源,针对占用请求B则返回当前占用数据。可选的,若采用多线程处理的方式,由于资源数据只能被一个任务锁住,因此本实施例方案可以保证资源数据只被其中一条请求锁定并处理。
由上述实施例可见,资源数据包括有状态标识,所述状态标识指示所述服务资源处于使用状态或空闲状态,因此,在接收到占用请求后,通过状态标识可以确定服务资源的状态,若处于空闲状态,则锁定所述资源数据,生成所述服务资源的当前占用数据响应所述占用请求,由于资源数据被锁定,在出现占用请求并发的情况下,只针对一条占用请求生成当前占用数据,而其他占用请求无法读取到资源数据,另外,在将所述状态字段更新为使用状态后,解锁所述资源数据,在处理其他并发的占用请求时,会发现服务资源处于使用状态,从而可以防止多条占用请求并发而生成多笔订单的情况。
可选的,所述占用请求由用户客户端或商户客户端发起,所述响应占用请求,包括:
将所述当前占用数据发送给所述用户客户端或商户客户端,以供所述用户客户端或商户客户端发起基于所述当前占用数据的订单请求。
可选的,还包括:
在接收到所述订单请求后,生成本地订单数据并发送给所述用户客户端或商户客户端。
可选的,所述占用请求由商户客户端生成所述服务资源的订单数据后发起,所述占用请求携带有所述商户客户端的订单数据;
所述响应所述占用请求,包括:
基于所述商户客户端的订单数据生成本地订单数据,并将所述当前占用数据、所述商户客户端的订单数据和所述本地订单数据三者相关联。
可选的,还包括:
若接收到用户客户端的本地订单数据,更新相关联的商户客户端的订单数据;
若接收到商户客户端的订单数据,更新相关联的本地订单数据。
可选的,所述方法还包括:
在订单处理完成后,将所述状态标识从使用状态更新为空闲状态。
可选的,所述方法还包括:
将所述本地订单数据同步给其他处于连接状态、且发起针对所述服务资源的订单请求的客户端。
与图4所示方法相对应,本实施例还提供了可应用于客户端的数据处理方法,可以包括:
确定需占用的服务资源,向服务端发起针对所述服务资源的占用请求;
获取所述服务端返回的所述服务资源的当前占用数据;其中,所述当前占用数据由所述服务端通过如下方式生成:获取所述服务资源的资源数据,将服务资源的资源数据锁定,将所述资源数据的状态标识从空闲状态更新为使用状态后,释放所述资源数据后生成。
可选的,所述确定需占用的服务资源,包括:
调用摄像模块获取条形码图像数据,通过识别所述条形码图像数据携带的服务资源标识确定需占用的服务资源。
可选的,所述方法还包括:
提供订单发起页面,通过所述订单发起页面获取订单信息,基于所述当前占用数据向服务端发起携带有所述订单信息的订单请求。
可选的,所述方法还包括:
获取服务端发送的订单数据并展示。
本说明书实施例中,服务资源的资源数据包括有状态标识,所述状态标识指示所述服务资源处于使用状态或空闲状态,因此,在接收到占用请求后,通过状态标识可以确定服务资源的状态,若处于处于空闲状态,则锁定所述资源数据,生成所述服务资源的当前占用数据响应所述开台请求,由于资源数据被锁定,在出现占用请求并发的情况下,只针对一条占用请求生成当前占用数据,而针对其他占用请求的处理暂无法读取到资源数据,另外,在将所述状态字段更新为使用状态后,解锁所述资源数据,在处理其他并发的占用请求时,会发现服务资源处于使用状态,从而可以防止多条占用请求并发而生成多笔订单的情况。
与前述数据处理方法的实施例相对应,本说明书还提供了数据处理装置及其所应用的设备的实施例。
本说明书数据处理装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本说明书数据处理装置所在计算机设备的一种硬件结构图,除了图5所示的处理器510、内存530、网络接口520、以及非易失性存储器540之外,实施例中装置531所在的服务器等计算机设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
如图6所示,图6是本说明书根据一示例性实施例示出的一种数据处理装置的框图,所述装置包括:
开台请求获取模块61,用于:获取针对目标餐桌的开台请求后,获取所述目标餐桌的餐桌数据;所述餐桌数据包括有状态标识,所述状态标识指示所述目标餐桌处于使用状态或空闲状态;
开台数据生成模块62,用于:若所述状态标识指示所述目标餐桌处于空闲状态,将所述餐桌数据锁定,在更新所述状态标识为使用状态后,释放所述餐桌数据,同时生成所述目标餐桌的当前开台数据以响应所述开台请求;
开台数据获取模块63,用于:若所述状态标识指示所述目标餐桌处于使用状态,则获取所述目标餐桌的当前开台数据以响应所述开台请求。
可选的,所述餐桌数据存储于数据库中,所述开台数据生成模块,具体用于:
向所述数据库发起针对所述餐桌数据的排他行级锁指令,以使所述数据库将所述餐桌数据锁定。
可选的,所述排他行级锁指令还携带有针对所述状态标识的更新信息,以使所述数据库在更新所述状态标识为使用状态后,释放所述餐桌数据。
可选的,所述开台请求由用户客户端或商户客户端发起,所述开台数据生成模块,具体用于:
将所述当前开台数据发送给所述用户客户端或商户客户端,以供所述用户客户端或商户客户端发起基于所述当前开台数据的点餐订单请求。
可选的,所述装置还包括订单数据发送模块,用于:
在接收到所述点餐订单请求后,生成本地点餐订单数据并发送给所述用户客户端或商户客户端。
可选的,所述开台请求由商户客户端生成所述目标餐桌的点餐订单数据后发起,所述开台请求携带有所述商户客户端的点餐订单数据;
所述开台数据生成模块/开台数据获取模块在响应所述开台请求时,具体用于:
基于所述商户客户端的点餐订单数据生成本地点餐订单数据,并将所述当前开台数据、所述商户客户端的点餐订单数据和所述本地点餐订单数据三者相关联。
可选的,所述装置还包括更新模块,用于:
若接收到用户客户端的本地点餐订单数据,更新相关联的商户客户端的点餐订单数据;
若接收到商户客户端的点餐订单数据,更新相关联的本地点餐订单数据。
可选的,所述更新模块,还用于:
在点餐订单处理完成后,将所述状态标识从使用状态更新为空闲状态。
可选的,所述订单数据发送模块,还用于:
将所述本地点餐订单数据同步给其他处于连接状态、且发起针对所述目标餐桌的点餐订单请求的客户端。
如图7所示,图7是本说明书根据一示例性实施例示出的一种数据处理装置的框图,所述装置包括:
占用请求获取模块71,用于:获取针对服务资源的占用请求后,获取所述服务资源的资源数据;所述资源数据包括有状态标识,所述状态标识指示所述服务资源处于使用状态或空闲状态;
占用数据生成模块72,用于:若所述状态标识指示所述服务资源处于空闲状态,将所述资源数据锁定,在更新所述状态标识为使用状态后,释放所述资源数据,同时生成所述服务资源的当前占用数据以响应所述占用请求;
占用数据获取模块73,用于:若所述状态标识指示所述服务资源处于使用状态,则获取所述服务资源的当前占用数据以响应所述占用请求。
可选的,所述资源数据存储于数据库中,所述占用数据生成模块,具体用于:向所述数据库发起针对所述资源数据的排他行级锁指令,以使所述数据库将所述资源数据锁定。
可选的,所述排他行级锁指令还携带有针对所述状态标识的更新信息,以使所述数据库在更新所述状态标识为使用状态后,释放所述资源数据。
可选的,所述占用请求由用户客户端或商户客户端发起,所述占用数据生成模块,具体用于:
将所述当前占用数据发送给所述用户客户端或商户客户端,以供所述用户客户端或商户客户端发起基于所述当前占用数据的订单请求。
可选的,所述装置还包括订单数据发送模块,用于:
在接收到所述订单请求后,生成本地订单数据并发送给所述用户客户端或商户客户端。
可选的,所述占用请求由商户客户端生成所述服务资源的订单数据后发起,所述占用请求携带有所述商户客户端的订单数据;
所述占用数据生成模块/占用数据获取模块在响应所述占用请求时,具体用于:
基于所述商户客户端的订单数据生成本地订单数据,并将所述当前占用数据、所述商户客户端的订单数据和所述本地订单数据三者相关联。
可选的,所述装置还包括更新模块,用于:
若接收到用户客户端的本地订单数据,更新相关联的商户客户端的订单数据;
若接收到商户客户端的订单数据,更新相关联的本地订单数据。
可选的,所述更新模块,还用于:
在订单处理完成后,将所述状态标识从使用状态更新为空闲状态。
可选的,所述订单数据发送模块,还用于:
将所述本地订单数据同步给其他处于连接状态、且发起针对所述服务资源的订单请求的客户端。
相应的,本说明书还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述数据处理方法。
上述数据处理装置中各个模块的功能和作用的实现过程具体详见上述数据处理方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种数据处理方法,包括:
获取针对目标餐桌的开台请求后,获取所述目标餐桌的餐桌数据;所述餐桌数据包括有状态标识,所述状态标识指示所述目标餐桌处于使用状态或空闲状态;
若所述状态标识指示所述目标餐桌处于空闲状态,将所述餐桌数据锁定,在更新所述状态标识为使用状态后,释放所述餐桌数据,同时生成所述目标餐桌的当前开台数据以响应所述开台请求;
若所述状态标识指示所述目标餐桌处于使用状态,则获取所述目标餐桌的当前开台数据以响应所述开台请求。
2.根据权利要求1所述的方法,所述餐桌数据存储于数据库中,所述将所述餐桌数据锁定,包括:
向所述数据库发起针对所述餐桌数据的排他行级锁指令,以使所述数据库将所述餐桌数据锁定。
3.根据权利要求2所述的方法,所述排他行级锁指令还携带有针对所述状态标识的更新信息,以使所述数据库在更新所述状态标识为使用状态后,释放所述餐桌数据。
4.根据权利要求1所述的方法,所述开台请求由用户客户端或商户客户端发起,所述响应开台请求,包括:
将所述当前开台数据发送给所述用户客户端或商户客户端,以供所述用户客户端或商户客户端发起基于所述当前开台数据的点餐订单请求。
5.一种数据处理方法,包括:
获取针对服务资源的占用请求后,获取所述服务资源的资源数据;所述资源数据包括有状态标识,所述状态标识指示所述服务资源处于使用状态或空闲状态;
若所述状态标识指示所述服务资源处于空闲状态,将所述资源数据锁定,在更新所述状态标识为使用状态后,释放所述资源数据,同时生成所述服务资源的当前占用数据以响应所述占用请求;
若所述状态标识指示所述服务资源处于使用状态,则获取所述服务资源的当前占用数据以响应所述占用请求。
6.一种数据处理方法,所述方法包括:
确定需开台的目标餐桌,向服务端发起针对所述目标餐桌的开台请求;
获取所述服务端返回的所述目标餐桌的当前开台数据;其中,所述当前开台数据由所述服务端通过如下方式生成:获取所述目标餐桌的餐桌数据,将所述目标餐桌的餐桌数据锁定,将所述餐桌数据的状态标识从空闲状态更新为使用状态后,释放所述餐桌数据后生成。
7.一种数据处理方法,所述方法包括:
确定需占用的服务资源,向服务端发起针对所述服务资源的占用请求;
获取所述服务端返回的所述服务资源的当前占用数据;其中,所述当前占用数据由所述服务端通过如下方式生成:获取所述服务资源的资源数据,将服务资源的资源数据锁定,将所述资源数据的状态标识从空闲状态更新为使用状态后,释放所述资源数据后生成。
8.一种数据处理装置,包括:
开台请求获取模块,用于:获取针对目标餐桌的开台请求后,获取所述目标餐桌的餐桌数据;所述餐桌数据包括有状态标识,所述状态标识指示所述目标餐桌处于使用状态或空闲状态;
开台数据生成模块,用于:若所述状态标识指示所述目标餐桌处于空闲状态,将所述餐桌数据锁定,在更新所述状态标识为使用状态后,释放所述餐桌数据,同时生成所述目标餐桌的当前开台数据以响应所述开台请求;
开台数据获取模块,用于:若所述状态标识指示所述目标餐桌处于使用状态,则获取所述目标餐桌的当前开台数据以响应所述开台请求。
9.一种数据处理装置,包括:
占用请求获取模块,用于:获取针对服务资源的占用请求后,获取所述服务资源的资源数据;所述资源数据包括有状态标识,所述状态标识指示所述服务资源处于使用状态或空闲状态;
占用数据生成模块,用于:若所述状态标识指示所述服务资源处于空闲状态,将所述资源数据锁定,在更新所述状态标识为使用状态后,释放所述资源数据,同时生成所述服务资源的当前占用数据以响应所述占用请求;
占用数据获取模块,用于:若所述状态标识指示所述服务资源处于使用状态,则获取所述服务资源的当前占用数据以响应所述占用请求。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至7任一所述方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811645148.5A CN109739890A (zh) | 2018-12-29 | 2018-12-29 | 数据处理方法、装置及设备 |
PCT/CN2019/128839 WO2020135624A1 (zh) | 2018-12-29 | 2019-12-26 | 数据处理方法、装置及设备 |
US17/417,541 US11893000B2 (en) | 2018-12-29 | 2019-12-26 | Data processing methods, apparatuses and devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811645148.5A CN109739890A (zh) | 2018-12-29 | 2018-12-29 | 数据处理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109739890A true CN109739890A (zh) | 2019-05-10 |
Family
ID=66362713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811645148.5A Pending CN109739890A (zh) | 2018-12-29 | 2018-12-29 | 数据处理方法、装置及设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11893000B2 (zh) |
CN (1) | CN109739890A (zh) |
WO (1) | WO2020135624A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689334A (zh) * | 2019-09-26 | 2020-01-14 | 口碑(上海)信息技术有限公司 | 基于多人点单的支付方法、服务器、客户端及系统 |
CN110706070A (zh) * | 2019-09-25 | 2020-01-17 | 口碑(上海)信息技术有限公司 | 多人点单方法、服务器、客户端及系统 |
CN110738479A (zh) * | 2019-09-16 | 2020-01-31 | 口碑(上海)信息技术有限公司 | 基于多人点单的订单管理方法及系统 |
CN111312246A (zh) * | 2020-02-18 | 2020-06-19 | 广东智源机器人科技有限公司 | 语音处理方法及系统、智能语音设备和服务器 |
WO2020135624A1 (zh) * | 2018-12-29 | 2020-07-02 | 浙江口碑网络技术有限公司 | 数据处理方法、装置及设备 |
CN111415146A (zh) * | 2020-06-08 | 2020-07-14 | 浙江口碑网络技术有限公司 | 资源数据的处理方法、装置及设备 |
CN111540113A (zh) * | 2020-04-17 | 2020-08-14 | 广东智源机器人科技有限公司 | 餐饮信息处理方法和装置、餐饮店系统 |
CN111833024A (zh) * | 2020-07-20 | 2020-10-27 | 北京百度网讯科技有限公司 | 用于输出信息的方法、装置、设备以及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111785346A (zh) * | 2020-05-29 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | 处方订单派发方法、系统、装置和存储介质 |
CN113472893B (zh) * | 2021-07-22 | 2023-08-01 | 咪咕数字传媒有限公司 | 数据处理方法、装置、计算设备及计算机存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210264A1 (en) * | 2006-08-09 | 2009-08-20 | Anderson Denise M | Conversation Mode Booking System |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103523A (zh) * | 2009-12-22 | 2011-06-22 | 国际商业机器公司 | 锁分配控制的方法和装置 |
US10338965B2 (en) * | 2012-04-03 | 2019-07-02 | Hewlett Packard Enterprise Development Lp | Managing a set of resources |
US10193775B2 (en) | 2014-10-09 | 2019-01-29 | Splunk Inc. | Automatic event group action interface |
GB2533086A (en) * | 2014-12-08 | 2016-06-15 | Ibm | Controlling a multi-database system |
CN207529523U (zh) * | 2017-08-03 | 2018-06-22 | 广州德中科技有限公司 | 一种开放路段车位预订系统 |
CN108665342A (zh) * | 2018-04-24 | 2018-10-16 | 深圳供电局有限公司 | 一种实现电动汽车充电站点智能推荐系统 |
CN109739890A (zh) * | 2018-12-29 | 2019-05-10 | 浙江口碑网络技术有限公司 | 数据处理方法、装置及设备 |
-
2018
- 2018-12-29 CN CN201811645148.5A patent/CN109739890A/zh active Pending
-
2019
- 2019-12-26 WO PCT/CN2019/128839 patent/WO2020135624A1/zh active Application Filing
- 2019-12-26 US US17/417,541 patent/US11893000B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210264A1 (en) * | 2006-08-09 | 2009-08-20 | Anderson Denise M | Conversation Mode Booking System |
Non-Patent Citations (6)
Title |
---|
张向宇: "基于Android平台的无线点餐系统的设计", 《基于ANDROID平台的无线点餐系统的设计》 * |
张琳: "基于Android无线点餐系统的设计与实现", 《基于ANDROID无线点餐系统的设计与实现》 * |
李洁: "基于Android平台的无线点餐系统软件设计与开发", 《基于ANDROID平台的无线点餐系统软件设计与开发》 * |
李莎: "基于无线网络的自助点餐系统的设计与实现", 《基于无线网络的自助点餐系统的设计与实现》 * |
逗比123号: "https://blog.csdn.net/u014034934/article/details/60127392", 《处理并发问题》 * |
鹏&鹏: "https://www.cnblogs.com/liaoweipeng/p/7615959.html", 《MYSQL的排他锁和共享锁》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020135624A1 (zh) * | 2018-12-29 | 2020-07-02 | 浙江口碑网络技术有限公司 | 数据处理方法、装置及设备 |
US11893000B2 (en) | 2018-12-29 | 2024-02-06 | Zhejiang Koubei Network Technology Co., Ltd. | Data processing methods, apparatuses and devices |
WO2021051775A1 (zh) * | 2019-09-16 | 2021-03-25 | 口碑(上海)信息技术有限公司 | 基于多人点单的订单管理方法及系统 |
CN110738479A (zh) * | 2019-09-16 | 2020-01-31 | 口碑(上海)信息技术有限公司 | 基于多人点单的订单管理方法及系统 |
CN113011865B (zh) * | 2019-09-16 | 2024-01-02 | 口碑(上海)信息技术有限公司 | 多人点单方法、服务器及客户端 |
CN113011865A (zh) * | 2019-09-16 | 2021-06-22 | 口碑(上海)信息技术有限公司 | 多人点单方法、服务器及客户端 |
CN110738479B (zh) * | 2019-09-16 | 2021-02-23 | 口碑(上海)信息技术有限公司 | 基于多人点单的订单管理方法及系统 |
CN110706070A (zh) * | 2019-09-25 | 2020-01-17 | 口碑(上海)信息技术有限公司 | 多人点单方法、服务器、客户端及系统 |
CN110689334A (zh) * | 2019-09-26 | 2020-01-14 | 口碑(上海)信息技术有限公司 | 基于多人点单的支付方法、服务器、客户端及系统 |
CN111312246A (zh) * | 2020-02-18 | 2020-06-19 | 广东智源机器人科技有限公司 | 语音处理方法及系统、智能语音设备和服务器 |
CN111540113A (zh) * | 2020-04-17 | 2020-08-14 | 广东智源机器人科技有限公司 | 餐饮信息处理方法和装置、餐饮店系统 |
CN111415146A (zh) * | 2020-06-08 | 2020-07-14 | 浙江口碑网络技术有限公司 | 资源数据的处理方法、装置及设备 |
CN111833024A (zh) * | 2020-07-20 | 2020-10-27 | 北京百度网讯科技有限公司 | 用于输出信息的方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020135624A1 (zh) | 2020-07-02 |
US11893000B2 (en) | 2024-02-06 |
US20220114158A1 (en) | 2022-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739890A (zh) | 数据处理方法、装置及设备 | |
CN111831450B (zh) | 用于分配服务器资源的方法、装置、电子设备及存储介质 | |
US7269623B2 (en) | System and method for distributed multimodal collaboration using a tuple-space | |
US20200065067A1 (en) | Random number generator in a parallel processing database | |
CN107688500A (zh) | 一种分布式任务处理方法、装置、系统及设备 | |
CN110263186A (zh) | 用于识别、选择和呈现媒体内容项目的方法和系统 | |
CN110738479B (zh) | 基于多人点单的订单管理方法及系统 | |
CN109857377B (zh) | 一种api编排方法及装置 | |
US9052972B2 (en) | Determining the processing order of a plurality of events | |
CN113672352B (zh) | 一种基于容器部署联邦学习任务的方法及装置 | |
CN107172177A (zh) | 一种信息推荐方法及装置 | |
US11455552B2 (en) | Intelligent design platform using industrialized experience in product designs | |
CN109819023A (zh) | 分布式事务处理方法及相关产品 | |
CN108153494A (zh) | 一种io请求处理方法及装置 | |
CN109218385A (zh) | 处理数据的方法和装置 | |
CN106062738B (zh) | 管理作业状态 | |
CN105978744A (zh) | 一种资源分配方法、装置及系统 | |
CN110928895B (zh) | 一种数据查询、数据表建立方法、装置及设备 | |
JP2001306873A (ja) | 電子取引システム | |
CN110706070A (zh) | 多人点单方法、服务器、客户端及系统 | |
CN110245027A (zh) | 一种进程间通信的方法和设备 | |
CN109739865A (zh) | 一种商品数据的处理方法及装置 | |
CN108924184A (zh) | 数据处理方法和服务器 | |
CN115361382A (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN109120783A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190510 |