CN110083653B - 一种订单数据的操作方法、装置、计算机设备和存储介质 - Google Patents

一种订单数据的操作方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110083653B
CN110083653B CN201910355358.9A CN201910355358A CN110083653B CN 110083653 B CN110083653 B CN 110083653B CN 201910355358 A CN201910355358 A CN 201910355358A CN 110083653 B CN110083653 B CN 110083653B
Authority
CN
China
Prior art keywords
order data
memory
order
database
data
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.)
Active
Application number
CN201910355358.9A
Other languages
English (en)
Other versions
CN110083653A (zh
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.)
Guangzhou Huya Information Technology Co Ltd
Original Assignee
Guangzhou Huya Information Technology 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 Guangzhou Huya Information Technology Co Ltd filed Critical Guangzhou Huya Information Technology Co Ltd
Priority to CN201910355358.9A priority Critical patent/CN110083653B/zh
Publication of CN110083653A publication Critical patent/CN110083653A/zh
Application granted granted Critical
Publication of CN110083653B publication Critical patent/CN110083653B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种订单数据的操作方法、装置、计算机设备和存储介质。该方法包括:接收所述业务服务器对订单数据生成的订单操作请求;确定生成所述订单数据的第一时间点;确定目标存储结点,所述目标存储结点对应的时间段包含所述第一时间点;在所述目标存储结点的存储器中,根据所述订单操作请求对所述缓存中的所述订单数据进行操作。业务服务器与多个存储结点分离,从而保证业务与存储分离,存储固态统一化,从而保证业务迭代,每个存储结点具有至少两个存储器,每个存储器具有数据库,至少两个存储器共用一缓存,形成共享缓存多级架构,实现双热备,单台存储器发生故障,订单数据并不会丢失,并不影响访问。

Description

一种订单数据的操作方法、装置、计算机设备和存储介质
技术领域
本发明实施例涉及订单处理的技术,尤其涉及一种订单数据的操作方法、装置、计算机设备和存储介质。
背景技术
随着网络技术的快速发展,许多网站向用户提供服务,如购物、订餐、观看影视剧、游戏竞技等,用户按照需求接受此服务,此时,网站可对此生成订单数据。
目前,多数网站使用数据库存储订单数据,网站中的应用可对数据库中的订单数据进行操作。
为了加快访问速度,在数据库上加提速访问的高速缓冲存储器cache,当某个应用重启或者服务器宕机时,需要从数据库重新请求数据加载到cache,容易出现cache中的订单数据与数据库中的订单数据不一致性的情况,并且,在加载期间,由于数据量大,请求爆发增多,容易导致大量请求超时。
除此,如果采用多机方案,一旦宕机或者重启,则订单数据丢失,而如果存在请求丢失,则存在多机中的订单数据不一致的情况。
发明内容
本发明实施例提供一种订单数据的操作方法、装置、计算机设备和存储介质,以解决上述至少部分问题。
第一方面,本发明实施例提供了一种订单数据的操作方法,一订单系统具有业务服务器与多个存储结点,每个存储结点具有至少两个存储器,每个存储器具有数据库,至少两个所述存储器共用一缓存,所述数据库用于存储一个或多个时间段内的订单数据,所述缓存用于加载所述数据库中存储的订单数据,以及,与所述数据库同步所述订单数据,所述方法包括:
接收所述业务服务器对订单数据生成的订单操作请求;
确定生成所述订单数据的第一时间点;
确定目标存储结点,所述目标存储结点对应的时间段包含所述第一时间点;
在所述目标存储结点的存储器中,根据所述订单操作请求对所述缓存中的所述订单数据进行操作。
第二方面,本发明实施例还提供了一种订单数据的操作装置,一订单系统具有业务服务器与多个存储结点,每个存储结点具有至少两个存储器,每个存储器具有数据库,至少两个所述存储器共用一缓存,所述数据库用于存储一个或多个时间段内的订单数据,所述缓存用于加载所述数据库中存储的订单数据,以及,与所述数据库同步所述订单数据,所述装置包括:
订单操作请求接收模块,用于接收所述业务服务器对订单数据生成的订单操作请求;
时间点确定模块,用于确定生成所述订单数据的第一时间点;
目标存储结点确定模块,用于确定目标存储结点,所述目标存储结点对应的时间段包含所述第一时间点;
订单操作模块,用于在所述目标存储结点的存储器中,根据所述订单操作请求对所述缓存中的所述订单数据进行操作。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的订单数据的操作方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的订单数据的操作方法。
在本发明实施例中,接收业务服务器对订单数据生成的订单操作请求,确定生成订单数据的第一时间点,确定目标存储结点,目标存储结点对应的时间段包含第一时间点,在目标存储结点的存储器中,根据订单操作请求对缓存中的订单数据进行操作,业务服务器与多个存储结点分离,从而保证业务与存储分离,存储固态统一化,从而保证业务迭代,每个存储结点具有至少两个存储器,每个存储器具有数据库,至少两个存储器共用一缓存,形成共享缓存多级架构,实现双热备,单台存储器发生故障,订单数据并不会丢失,并不影响访问,在业务重启时,消除缓存失效导致数据库过载,从而导致请求超时与异常的故障的问题,在面对海量的订单数据,百万级并发请求,依然可保证高性能查询,修改以及响应速度。
附图说明
图1为本发明实施例一提供的一种订单数据的操作方法的流程图;
图2A与图2B为本发明实施例一提供的一种订单系统的架构示意图;
图3是本发明实施例二提供的一种订单数据的操作方法的流程图;
图4是本发明实施例三提供的一种订单数据的操作方法的流程图;
图5是本发明实施例四提供的一种订单数据的操作方法的流程图;
图6为本发明实施例五提供的一种订单数据的操作装置的结构示意图;
图7为本发明实施例六提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种订单数据的操作方法的流程图,本实施例可适用于对订单数据进行操作的情况,该方法可以由订单数据的操作装置来执行,该订单数据的操作装置可以由软件和/或硬件实现,可配置在一订单系统中的计算机设备,如服务器等。
在一种订单系统的架构中,如图2A所示,该订单系统具有业务服务器210、多个路由器220、连接服务器230、镜像中心240、多个存储结点node250。
其中,业务服务器210可连接客户端,处理与客户端相关的业务。
路由器220用于连接业务服务器210与存储结点250。
连接服务器230用于维持与各个存储结点250之间的心跳。
镜像中心240用于间隔一段时间,同步(持久化)各个存储结点node250存储的订单数据(快照),存储(持久化)操作订单数据生成的订单操作数据。
每个存储结点node250具有至少两个存储器,每个存储器具有数据库,至少两个存储器共用一缓存,如cache。
例如,如图2B所示,存储器包括主存储器251、从存储器252,主存储器251具有数据库2511、从存储器252具有数据库2521,主存储器251、从存储器252共用一缓存253。
进一步而言,订单系统使用微服务分离技术,将业务处理与持久化分离,其中,数据库用于存储(持久化)一个或多个时间段内的订单数据,缓存用于加载数据库中存储的订单数据,以便在缓存中对订单数据进行操作,以及,与数据库同步订单数据。
如图1所示,该方法具体包括如下步骤:
S101、接收所述业务服务器对订单数据生成的订单操作请求。
在本实施例中,用户可以启动浏览器、直播应用等应用,连接业务服务器,对某项服务进行业务操作。
业务服务器根据该业务操作,对相应的订单数据生成订单操作请求,请求对该订单数据进行增加、删除、修改、查询等操作。
需要说明的是,在不同的场景,如电子商务、外卖、直播等,订单数据的含义有所不同,包括购买商品、购买外卖、购买服务,等等。
以直播为例,用户(包括观众与主播)可设置个人技能特长与每项针对个人特长提供的服务所需虚拟币,在业务服务器存储。
其中,服务包括陪玩某个游戏、陪唱歌、陪聊天等等。
第一用户进入直播应用后,向业务服务器拉取能够提供服务的第二用户的列表,通过列表向第一用户发送第二用户提供的服务,以及虚拟币。
在一个示例中,该列表的形式可以如下:
小明–游戏A(接单100次)-5虚拟币/局-下单按钮
小刚–游戏B(接单200次)-8虚拟币/局-下单按钮
此外,第一用户也可以点击第二用户的个人中心,业务服务器也会向第一用户发送第二用户提供的服务,以及虚拟币。
在一个示例中,该个人中心的部分信息可以如下:
游戏A(接单100次)-5虚拟币/局-下单按钮
陪唱歌(接单200次)-30虚拟币/小时-下单按钮
需要说明的是,第一用户、第二用户均属于用户,可能为主播,也可能为观众,在订单系统中,第一用户、第二用户均以用户ID等形式表示。
第一用户针对某个第二用户的某个服务点击下单按钮,此时,业务服务器接收第一用户作用于该服务的服务请求,向虚拟币管理系统查询第一用户的虚拟币的余额,如果虚拟币的余额不满足服务的要求,则返回错误码给第一用户,如果虚拟币的余额满足服务的要求,则扣除相应的虚拟币,将服务请求发送至第二用户。
第二用户可同意或拒绝该服务请求,若第二用户同意服务请求,则生成订单数据,在服务完成时,经第一用户确认,将该虚拟币发送至第二用户;若第二用户拒绝服务请求,则可退还虚拟币给第一用户。
当然,上述生成订单数据的方式只是作为示例,在实施本实施例时,可以根据实际情况设置其他生成订单数据的方式,本实施例对此不加以限制。另外,除了上述生成订单数据的方式外,本领域技术人员还可以根据实际需要采用其它生成订单数据的方式,本实施例对此也不加以限制。
S102、确定生成所述订单数据的第一时间点。
订单数据中包含了生成该订单数据的时间,即生成时间,此时,可从订单数据中查询生成时间,作为第一时间点。
S103、确定目标存储结点。
在本实施例中,通过水平拆分的方式,对业务数据分存储结点node访问,通过路由器则可定位到该业务数据所属的存储结点,作为目标存储结点。
其中,目标存储结点对应的时间段包含第一时间点。
S104、在所述目标存储结点的存储器中,根据所述订单操作请求对所述缓存中的所述订单数据进行操作。
调用目标存储结点中当前应用的存储器,响应预告哎顶到操作请求,对缓存中的订单数据进行操作,如增加、删除、修改、查询等。
此后,该缓存中操作之后的数据,可同步至目标存储结点中各存储器的数据库中,该存储器的数据库中业务数据,可同步至镜像中心。
在本发明的一个实施例中,S104包括如下步骤:
S1041、确定所述订单数据所处的处理状态。
S1042、在所述缓存的表中确定第一表。
其中,第一表用于存储处于该处理状态的订单数据。
在订单系统中,订单数据存储于表中,表以处理状态作为一个维度划分,即不同的表用于存储不同处理状态的订单数据,同一张表存储同一种处理状态的数据,基于多处理状态转移订单数据,保证事务一致性和高可用性,用以方便进行其它处理。
进一步而言,处理状态包括已支付、未支付,则可以将已支付的订单数据存储于一张或多张表格,将未支付的订单数据存储于一张或多张表格。
在本实施例中,可查询订单数据的处理状态,则可以在缓存的表中,确定用于存储处于该处理状态的订单数据的表,作为第一表。
S1043、在所述第一表中确定第二表。
其中,第二表对应的时间段包含第一时间点。
在订单系统中,表以时间段作为一个维度划分,即表用于存储一个时间段(如一天)内的订单数据,一个存储结点可以用于存储多个时间段的表。
在本实施例中,可查在第一表中,确定用于存储该包含第一时间点的时间段对应订单数据的表,作为第二表。
S1044、确定所述订单数据对应的用户标识。
S1045、对所述用户标识计算标识值。
S1046、在所述第二表中,查找所述标识值对应的所述订单数据。
S1047、按照所述订单操作请求对所述订单数据进行操作。
在本实施例中,存储器中的数据库为关系型数据库,存储形式为key(键)-value(值),key为用户标识的标识值,value为订单数据。
因此,对于缓存中的第二表,可查询订单数据所属用户的用户标识,如用户ID,对该用户标识生成标识值,如Hash(哈希)值,在第二标中查询该标识值对应的订单数据,从而按照订单操作请求对订单数据进行操作。
在本发明实施例中,接收业务服务器对订单数据生成的订单操作请求,确定生成订单数据的第一时间点,确定目标存储结点,目标存储结点对应的时间段包含第一时间点,在目标存储结点的存储器中,根据订单操作请求对缓存中的订单数据进行操作,业务服务器与多个存储结点分离,从而保证业务与存储分离,存储固态统一化,从而保证业务迭代,每个存储结点具有至少两个存储器,每个存储器具有数据库,至少两个存储器共用一缓存,形成共享缓存多级架构,实现双热备,单台存储器发生故障,订单数据并不会丢失,并不影响访问,在业务重启时,消除缓存失效导致数据库过载,从而导致请求超时与异常的故障的问题,在面对海量的订单数据,百万级并发请求,依然可保证高性能查询,修改以及响应速度。
实施例二
图3为本发明实施例二提供的一种订单数据的操作方法的流程图,本实施例以前述实施例为基础,进一步增加主存储器与从存储器之间切换的处理操作。该方法具体包括如下步骤:
S301、接收所述业务服务器对订单数据生成的订单操作请求。
S302、确定生成所述订单数据的第一时间点。
S303、确定目标存储结点,所述目标存储结点对应的时间段包含所述第一时间点。
S304、在所述目标存储结点的存储器中,根据所述订单操作请求对所述缓存中的所述订单数据进行操作。
S305、若所述主存储器异常,则切换至所述从存储器,所述从存储器用于对所述缓存中的订单数据进行操作。
一般情况下,主存储器响应业务服务器的订单操作请求,对缓存中的订单数据进行操作,如果主存储器因故障等原因出现异常,则可以通知连接服务器,将访问切换到从存储器,此后,从存储器响应业务服务器的订单操作请求,对缓存中的订单数据进行操作。
在本发明的一个实施例中,S305包括如下步骤:
S3051、若确定所述主存储器断开通信链接,则统计断开时间。
一般情况下,连接服务器定时向主存储器发送心跳包,主存储器则向连接服务器返回心跳包。
如果连接服务器未接收到主存储器的心跳包,可认为主存储器断开通信链接,此时,统计断开时间。
S3052、若所述断开时间超过预设的阈值,则分别探测所述主存储器的状态与所述从存储器的状态。
如果断开时间超过阈值,即心跳超时,此时,可分别向主存储器与从存储器发送探测包,从而探测主存储器的状态与从存储器的状态。
按照约定,主存储器与从存储器在接收到探测包之后,会响应探测包,返回一些固定的信息,如CPU(Central Processing Unit,中央处理器)占用率、内存占用率等设备状态。
如果连接服务器未接收到响应,则可以认为非存活,如果连接服务器接收到响应,则可以认为存活。
S3053、若所述主存储器的状态为非存活、所述从存储器的状态为存活,则通知至少两个所述路由器向所述主存储器探测所述主存储器的状态。
连接服务器在确认主存储器非存活(未响应)、从存储器为存活(存活)的情况下,可通知多个路由器向主存储器发送探测包,从而探测主存储器的状态。
S3054、若所述主存储器的所有状态为非存活,则通知所述路由器对所述存储结点设置只读所述从存储器。
如果所有路器由均未接收到主存储器的响应,则二次确认主存储器非存活,此时,连接服务器可通知路由器对该存储结点设置为只读从存储器,即只允许读从存储器,禁止写主存储器,提供有损服务。
S3055、若所述路由器设置成功,则通知所述路由器对所述存储结点设置可读写所述从存储器。
连接服务器等待所有路由器同步只读从存储器成功的上报,如果连接服务器接收到上报后,修改路由器中的路由,切合读写到从存储器,当所有路由器同步到新的路由,切换完成。
主存储器与备存储器之间的切换对业务透明,跨机架跨交换机部署,采用自动切换的方式,无需人工干预,即可达到服务高可用性。
S3056、从所述镜像中心中获取位于第二时间点之后的操作数据。
其中,第二时间点为镜像中心存储的订单数据所属时间段的终止时间点。
S3057、在所述从存储器中,按照所述操作数据对所述缓存中的订单数据进行操作。
在主存储器切换至被存储器的过程中,业务服务器可能会对其它订单数据进行操作,从而造成脏数据。
从镜像中心中获取其存储的最新的订单数据之后的操作数据,如binlog日志,则可以在从存储器中,在缓存中订单数据的基础上,利用操作数据进行操作,恢复到最新的状态,减少丢失订单数据的风险,从而达到高可用性和数据一致性的目的。
进一步而言,订单系统还可以通过硬件冗余(如HA备份)和其它容灾处理应对主存储器与备存储器之间的切换。
实施例三
图4为本发明实施例三提供的一种订单数据的操作方法的流程图,本实施例以前述实施例为基础,进一步增加存储结点本地恢复的处理操作。该方法具体包括如下步骤:
S401、接收所述业务服务器对订单数据生成的订单操作请求。
S402、确定生成所述订单数据的第一时间点。
S403、确定目标存储结点,所述目标存储结点对应的时间段包含所述第一时间点。
S404、在所述目标存储结点的存储器中,根据所述订单操作请求对所述缓存中的所述订单数据进行操作。
S405、若所述主存储器与所述从存储器异常、且所述主存储器的数据库或所述从存储器的数据库可用,则重启所述主存储器或所述从存储器。
S406、将所述主存储器的数据库或所述从存储器的数据库中的订单数据加载至所述缓存。
S407、从所述镜像中心中获取位于第三时间点之后的操作数据。
其中,第三时间点为主存储器的数据库或从存储器的数据库中的订单数据所属时间段的终止时间点。
S408、按照所述操作数据对所述缓存中的订单数据进行操作。
在本实施例中,如果主存储器与从存储器同时异常,如宕机,如果主存储器或从存储器的磁盘正常,则可以重启主存储器或从存储器,读取其数据库中的订单数据,并加载至缓存,在主存储器或从存储器中,利用操作数据进行操作,恢复到最新的状态,从而恢复正常的服务。
实施例四
图5为本发明实施例四提供的一种订单数据的操作方法的流程图,本实施例以前述实施例为基础,进一步增加镜像中心异地恢复的处理操作。该方法具体包括如下步骤:
S501、接收所述业务服务器对订单数据生成的订单操作请求。
S502、确定生成所述订单数据的第一时间点。
S503、确定目标存储结点,所述目标存储结点对应的时间段包含所述第一时间点。
S504、在所述目标存储结点的存储器中,根据所述订单操作请求对所述缓存中的所述订单数据进行操作。
S505、若所述主存储器与所述从存储器异常、且所述主存储器的数据库或所述从存储器的数据库不可用,则重启所述主存储器。
S506、从所述镜像中心获取适于所述存储结点存储的订单数据。
S507、将所述订单数据加载至所述缓存。
S508、从所述镜像中心中获取位于第四时间点之后的操作数据。
其中,第三时间点为镜像中心的订单数据所属时间段的终止时间点。
S509、按照所述操作数据对所述缓存中的订单数据进行操作。
在本实施例中,如果主存储器与从存储器同时异常,如宕机,如果主存储器与从存储器的磁盘异常(损坏),则可以重启主存储器,读取镜像中心的订单数据,并加载至缓存,在主存储器中,利用操作数据进行操作,恢复到最新的状态,从而恢复正常的服务。
实施例五
图6为本发明实施例五提供的一种订单数据的操作装置的结构示意图,一订单系统具有业务服务器与多个存储结点,每个存储结点具有至少两个存储器,每个存储器具有数据库,至少两个所述存储器共用一缓存,所述数据库用于存储一个或多个时间段内的订单数据,所述缓存用于加载所述数据库中存储的订单数据,以及,与所述数据库同步所述订单数据,所述装置具体可以包括如下模块:
订单操作请求接收模块601,用于接收所述业务服务器对订单数据生成的订单操作请求;
时间点确定模块602,用于确定生成所述订单数据的第一时间点;
目标存储结点确定模块603,用于确定目标存储结点,所述目标存储结点对应的时间段包含所述第一时间点;
订单操作模块604,用于在所述目标存储结点的存储器中,根据所述订单操作请求对所述缓存中的所述订单数据进行操作。
在本发明的一个实施例中,所述订单操作模块604包括:
处理状态确定子模块,用于确定所述订单数据所处的处理状态;
第一表确定子模块,用于在所述缓存的表中确定第一表,所述第一表用于存储处于所述处理状态的订单数据;
第二表确定子模块,用于在所述第一表中确定第二表,所述第二表对应的时间段包含所述第一时间点;
用户标识确定子模块,用于确定所述订单数据对应的用户标识;
标识值计算子模块,用于对所述用户标识计算标识值;
订单数据查找子模块,用于在所述第二表中,查找所述标识值对应的所述订单数据;
请求操作子模块,用于按照所述订单操作请求对所述订单数据进行操作。
在本发明的一个实施例中,所述订单系统还包括镜像中心,所述镜像中心用于同步所述存储结点存储的订单数据,以及,存储操作所述订单数据生成的订单操作数据,至少两个所述存储器包括主存储器、从存储器,所述装置还包括:
存储器切换模块,用于若所述主存储器异常,则切换至所述从存储器,所述从存储器用于对所述缓存中的订单数据进行操作。
在本发明的一个实施例中,所述订单系统还包括路由器,所述路由器用于连接所述业务服务器与所述存储结点;
所述存储器切换模块包括:
断开时间统计子模块,用于若确定所述主存储器断开通信链接,则统计断开时间;
第一状态探测子模块,用于若所述断开时间超过预设的阈值,则分别探测所述主存储器的状态与所述从存储器的状态;
第二状态探测子模块,用于若所述主存储器的状态为非存活、所述从存储器的状态为存活,则通知至少两个所述路由器向所述主存储器探测所述主存储器的状态;
只读设置子模块,用于若所述主存储器的所有状态为非存活,则通知所述路由器对所述存储结点设置只读所述从存储器;
读写设置子模块,用于若所述路由器设置成功,则通知所述路由器对所述存储结点设置可读写所述从存储器。
在本发明的一个实施例中,所述存储器切换模块还包括:
数据获取子模块,用于从所述镜像中心中获取位于第二时间点之后的操作数据,所述第二时间点为所述镜像中心存储的订单数据所属时间段的终止时间点;
数据操作子模块,用于在所述从存储器中,按照所述操作数据对所述缓存中的订单数据进行操作。
在本发明的一个实施例中,所述订单系统还包括镜像中心,所述镜像中心用于同步所述存储结点存储的订单数据,以及,存储操作所述订单数据生成的订单操作数据,至少两个所述存储器包括主存储器、从存储器,所述装置还包括:
第一重启模块,用于若所述主存储器与所述从存储器异常、且所述主存储器的数据库或所述从存储器的数据库可用,则重启所述主存储器或所述从存储器;
第一缓存加载模块,用于将所述主存储器的数据库或所述从存储器的数据库中的订单数据加载至所述缓存;
第一操作数据拉取模块,用于从所述镜像中心中获取位于第三时间点之后的操作数据,所述第三时间点为所述主存储器的数据库或所述从存储器的数据库中的订单数据所属时间段的终止时间点;
第一订单数据恢复模块,用于按照所述操作数据对所述缓存中的订单数据进行操作。
在本发明的一个实施例中,所述订单系统还包括镜像中心,所述镜像中心用于同步所述存储结点存储的订单数据,以及,存储操作所述订单数据生成的订单操作数据,至少两个所述存储器包括主存储器、从存储器,所述装置还包括:
第二重启模块,用于若所述主存储器与所述从存储器异常、且所述主存储器的数据库或所述从存储器的数据库不可用,则重启所述主存储器;
订单数据拉取模块,用于从所述镜像中心获取适于所述存储结点存储的订单数据;
第一缓存加载模块,用于将所述订单数据加载至所述缓存;
第二操作数据拉取模块,用于从所述镜像中心中获取位于第四时间点之后的操作数据,所述第三时间点为所述镜像中心的订单数据所属时间段的终止时间点;
第二订单数据恢复模块,用于按照所述操作数据对所述缓存中的订单数据进行操作。
在本发明的一个实施例中,还包括:
服务发送模块,用于向第一用户发送第二用户提供的服务;
服务请求接收模块,用于接收所述第一用户作用于所述服务的服务请求;
服务请求发送模块,用于将所述服务请求发送至所述第二用户;
订单数据生成模块,用于若所述第二用户同意所述服务请求,则生成订单数据。
本发明实施例所提供的订单数据的操作装置可执行本发明任意实施例所提供的订单数据的操作方法,具备执行方法相应的功能模块和有益效果。
实施例六
图7为本发明实施例六提供的一种计算机设备的结构示意图。如图7所示,该计算机设备包括处理器700、存储器701、通信模块702、输入装置703和输出装置704;计算机设备中处理器700的数量可以是一个或多个,图7中以一个处理器700为例;计算机设备中的处理器700、存储器701、通信模块702、输入装置703和输出装置704可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器701作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的一种订单数据的操作方法对应的模块(例如,如图6所示的一种订单数据的操作装置中的订单操作请求接收模块601、时间点确定模块602、目标存储结点确定模块603、订单操作模块604)。处理器700通过运行存储在存储器701中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的一种订单数据的操作方法。
存储器701可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器701可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器701可进一步包括相对于处理器700远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块702,用于与显示屏建立连接,并实现与显示屏的数据交互。输入装置703可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。
本实施例提供的一种计算机设备,可执行本发明任一实施例提供的订单数据的操作方法,具体相应的功能和有益效果。
实施例七
本发明实施例七还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种订单数据的操作方法,一订单系统具有业务服务器与多个存储结点,每个存储结点具有至少两个存储器,每个存储器具有数据库,至少两个所述存储器共用一缓存,所述数据库用于存储一个或多个时间段内的订单数据,所述缓存用于加载所述数据库中存储的订单数据,以及,与所述数据库同步所述订单数据,该方法包括:
一订单系统具有业务服务器与多个存储结点,每个存储结点具有至少两个存储器,每个存储器具有数据库,至少两个所述存储器共用一缓存,所述数据库用于存储一个或多个时间段内的订单数据,所述缓存用于加载所述数据库中存储的订单数据,以及,与所述数据库同步所述订单数据,
当然,本发明实施例所提供的计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的订单数据的操作方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述订单数据的操作装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种订单数据的操作方法,其特征在于,一订单系统具有业务服务器与多个存储结点,每个存储结点具有至少两个存储器,每个存储器具有数据库,至少两个所述存储器共用一缓存,所述数据库用于存储一个或多个时间段内的订单数据,所述缓存用于加载所述数据库中存储的订单数据,以及,与所述数据库同步所述订单数据,所述方法包括:
接收所述业务服务器对订单数据生成的订单操作请求;
确定生成所述订单数据的第一时间点;
确定目标存储结点,所述目标存储结点对应的时间段包含所述第一时间点;
在所述目标存储结点的存储器中,根据所述订单操作请求对所述缓存中的所述订单数据进行操作;
所述在所述目标存储结点的存储器中,根据所述订单操作请求对所述缓存中的所述订单数据进行操作,包括:
确定所述订单数据所处的处理状态;
在所述缓存的表中确定第一表,所述第一表用于存储处于所述处理状态的订单数据;
在所述第一表中确定第二表,所述第二表对应的时间段包含所述第一时间点;
确定所述订单数据对应的用户标识;
对所述用户标识计算标识值;
在所述第二表中,查找所述标识值对应的所述订单数据;
按照所述订单操作请求对所述订单数据进行操作。
2.根据权利要求1所述的方法,其特征在于,所述订单系统还包括镜像中心,所述镜像中心用于同步所述存储结点存储的订单数据,以及,存储操作所述订单数据生成的订单操作数据,至少两个所述存储器包括主存储器、从存储器,所述方法还包括:
若所述主存储器异常,则切换至所述从存储器,所述从存储器用于对所述缓存中的订单数据进行操作。
3.根据权利要求2所述的方法,其特征在于,所述订单系统还包括路由器,所述路由器用于连接所述业务服务器与所述存储结点;
所述若所述主存储器异常,则切换至所述从存储器,包括:
若确定所述主存储器断开通信链接,则统计断开时间;
若所述断开时间超过预设的阈值,则分别探测所述主存储器的状态与所述从存储器的状态;
若所述主存储器的状态为非存活、所述从存储器的状态为存活,则通知至少两个所述路由器向所述主存储器探测所述主存储器的状态;
若所述主存储器的所有状态为非存活,则通知所述路由器对所述存储结点设置只读所述从存储器;
若所述路由器设置成功,则通知所述路由器对所述存储结点设置可读写所述从存储器。
4.根据权利要求3所述的方法,其特征在于,所述若所述主存储器异常,则切换至所述从存储器,还包括:
从所述镜像中心中获取位于第二时间点之后的操作数据,所述第二时间点为所述镜像中心存储的订单数据所属时间段的终止时间点;
在所述从存储器中,按照所述操作数据对所述缓存中的订单数据进行操作。
5.根据权利要求1所述的方法,其特征在于,所述订单系统还包括镜像中心,所述镜像中心用于同步所述存储结点存储的订单数据,以及,存储操作所述订单数据生成的订单操作数据,至少两个所述存储器包括主存储器、从存储器,所述方法还包括:
若所述主存储器与所述从存储器异常、且所述主存储器的数据库或所述从存储器的数据库可用,则重启所述主存储器或所述从存储器;
将所述主存储器的数据库或所述从存储器的数据库中的订单数据加载至所述缓存;
从所述镜像中心中获取位于第三时间点之后的操作数据,所述第三时间点为所述主存储器的数据库或所述从存储器的数据库中的订单数据所属时间段的终止时间点;
按照所述操作数据对所述缓存中的订单数据进行操作。
6.根据权利要求1所述的方法,其特征在于,所述订单系统还包括镜像中心,所述镜像中心用于同步所述存储结点存储的订单数据,以及,存储操作所述订单数据生成的订单操作数据,至少两个所述存储器包括主存储器、从存储器,所述方法还包括:
若所述主存储器与所述从存储器异常、且所述主存储器的数据库或所述从存储器的数据库不可用,则重启所述主存储器;
从所述镜像中心获取适于所述存储结点存储的订单数据;
将所述订单数据加载至所述缓存;
从所述镜像中心中获取位于第四时间点之后的操作数据,第三时间点为所述镜像中心的订单数据所属时间段的终止时间点;
按照所述操作数据对所述缓存中的订单数据进行操作。
7.根据权利要求1所述的方法,其特征在于,还包括:
向第一用户发送第二用户提供的服务;
接收所述第一用户作用于所述服务的服务请求;
将所述服务请求发送至所述第二用户;
若所述第二用户同意所述服务请求,则生成订单数据。
8.一种订单数据的操作装置,其特征在于,一订单系统具有业务服务器与多个存储结点,每个存储结点具有至少两个存储器,每个存储器具有数据库,至少两个所述存储器共用一缓存,所述数据库用于存储一个或多个时间段内的订单数据,所述缓存用于加载所述数据库中存储的订单数据,以及,与所述数据库同步所述订单数据,所述装置包括:
订单操作请求接收模块,用于接收所述业务服务器对订单数据生成的订单操作请求;
时间点确定模块,用于确定生成所述订单数据的第一时间点;
目标存储结点确定模块,用于确定目标存储结点,所述目标存储结点对应的时间段包含所述第一时间点;
订单操作模块,用于在所述目标存储结点的存储器中,根据所述订单操作请求对所述缓存中的所述订单数据进行操作;
所述订单操作模块包括:
处理状态确定子模块,用于确定所述订单数据所处的处理状态;
第一表确定子模块,用于在所述缓存的表中确定第一表,所述第一表用于存储处于所述处理状态的订单数据;
第二表确定子模块,用于在所述第一表中确定第二表,所述第二表对应的时间段包含所述第一时间点;
用户标识确定子模块,用于确定所述订单数据对应的用户标识;
标识值计算子模块,用于对所述用户标识计算标识值;
订单数据查找子模块,用于在所述第二表中,查找所述标识值对应的所述订单数据;
请求操作子模块,用于按照所述订单操作请求对所述订单数据进行操作。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一所述的订单数据的操作方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的订单数据的操作方法。
CN201910355358.9A 2019-04-29 2019-04-29 一种订单数据的操作方法、装置、计算机设备和存储介质 Active CN110083653B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910355358.9A CN110083653B (zh) 2019-04-29 2019-04-29 一种订单数据的操作方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910355358.9A CN110083653B (zh) 2019-04-29 2019-04-29 一种订单数据的操作方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110083653A CN110083653A (zh) 2019-08-02
CN110083653B true CN110083653B (zh) 2021-07-13

Family

ID=67417625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910355358.9A Active CN110083653B (zh) 2019-04-29 2019-04-29 一种订单数据的操作方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110083653B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110868395B (zh) * 2019-09-25 2021-09-07 恒鸿达科技有限公司 一种基于收发单框架的大并发业务处理方法、设备及介质
CN115578160B (zh) * 2022-11-24 2023-04-07 云账户技术(天津)有限公司 一种临时接单的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9858326B2 (en) * 2012-10-10 2018-01-02 Microsoft Technology Licensing, Llc Distributed data warehouse
US10540458B2 (en) * 2016-04-26 2020-01-21 Sejong Industry-Academia Cooperation Foundation Hongik University System and method for monitoring photovoltaic power generation
CN108694638A (zh) * 2017-04-10 2018-10-23 北京搜狗科技发展有限公司 一种订单退改方法及装置
CN107705181A (zh) * 2017-10-10 2018-02-16 姚志峰 一种实时在线视频购物系统及方法

Also Published As

Publication number Publication date
CN110083653A (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
CN107465767B (zh) 一种数据同步的方法和系统
CN110601903B (zh) 一种基于消息队列中间件的数据处理方法及装置
JP2017534133A (ja) 分散ストレージ及びレプリケーションシステム、並びに方法
CN105511987A (zh) 一种强一致性且高可用的分布式任务管理系统
CN109802986B (zh) 设备管理方法、系统、装置及服务器
CN110083653B (zh) 一种订单数据的操作方法、装置、计算机设备和存储介质
CN107517110A (zh) 一种分布式系统中单板配置自恢复方法及装置
CN111737236B (zh) 智能快递柜业务的数据管理方法及系统
CN109388481A (zh) 一种事务信息的传输方法、系统、装置、计算设备和介质
CN110311855B (zh) 用户消息处理方法、装置、电子设备及存储介质
CN109088830B (zh) 一种端口状态同步方法及装置
CN109189854B (zh) 提供持续业务的方法及节点设备
CN110196749B (zh) 虚拟机的恢复方法及装置、存储介质及电子装置
WO2021115043A1 (zh) 分布式数据库系统和数据灾备演练方法
EP3570169A1 (en) Method and system for processing device failure
CN111404737B (zh) 一种容灾处理方法以及相关装置
CN114625566A (zh) 数据容灾方法、装置、电子设备及存储介质
CN113765690A (zh) 集群切换方法、系统、装置、终端、服务器及存储介质
CN108881452B (zh) 一种数据同步的方法、装置及存储介质
CN113055461B (zh) 一种基于ZooKeeper的无人集群分布式协同指挥控制方法
CN112995266A (zh) 一种信息推送方法及相关设备
CN114422335A (zh) 通信方法、装置、服务器及存储介质
CN111106966B (zh) 一种信息处理方法及装置、设备、存储介质
CN110971872B (zh) 一种基于分布式集群的视频图像信息采集方法
CN114301763A (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
GR01 Patent grant
GR01 Patent grant