数据处理系统的并发控制预处理方法 【技术领域】
本发明属于数据处理技术领域, 尤其是涉及一种数据处理系统的并发控制预处理方法。 背景技术 对于大型的数据处理系统而言, 通常会接收来自不同终端设备的大量的数据处理 请求, 针对所述数据处理请求进行相应的处理, 并且向对应的终端设备反馈处理结果。
如图 1 所示, 现有技术中, 数据处理系统一般包括服务器 910 以及数据库 920。服 务器 910 接收来自终端设备 930 的请求, 从数据库 920 中获取相应的数据进行处理, 生成处 理结果。必要时还会将所述处理结果反馈至终端设备 930。
在有些情况下, 服务器 910 可能接收到来自多个终端设备 930 的并发请求。在现 有技术中, 为了保证数据的一致性, 服务器 910 通常采用数据锁的并发控制方法, 将并发操 作转换为串行操作。
此种现有技术的缺陷在于 : 由于每个请求的处理需要操作相关数据库中一定量的 数据, 需要一定的时间开销, 所以往往会造成不少终端设备需要等待过长的时间, 从而导致 用户体验效果很差。 此外, 采用数据锁的并发控制方法访问数据库容易造成死锁现象, 从而 导致不能正常处理来自终端设备的请求。
现有技术中, 一种常见的涉及并发请求的系统为电子交易系统, 例如网络购物系 统。在发布市场稀缺商品或有相当大的价格优势的商品时, 可能会有大量的买家借助终端 设备极短的时间里下网络订购单。此时, 网络服务器需要对网络订购单对应的数据库进行 并发操作与控制。
发明内容
本发解决的技术问题在于提供一种数据处理系统的并发控制预处理方法, 可以提 高对数据并发访问的控制效率。
本发明实施方式提供的一种数据处理系统的并发控制预处理方法包括 :
对来自多个用户设备的并发数据处理请求进行预处理 ;
对于预处理通过的数据处理请求, 从数据库中获取对应的服务所需数据 ;
基于所述服务所需数据, 对预处理通过的数据请求进行处理, 生成相应的处理结 果。
可选地, 还包括 : 将预处理结果反馈至对应的用户设备。
可选地, 所述预处理包括 : 根据数据处理所需关键信息的类型, 提取数据处理请求 中相应类型的信息, 根据提取出的信息和数据处理所需关键信息确定允许通过的数据处理 请求。
可选地, 所述关键信息包括服务类型、 服务条件和 / 或用户特征。
可选地, 还包括 : 根据所述处理结果更新数据库。可选地, 还包括 : 将所述处理结果反馈至用户设备。
可选地, 所述数据处理请求为商品订购请求 ; 所述关键信息包括商品类型、 商品数 量、 商品价格、 用户特征。
可选地, 所述服务所需数据包括 : 用户身份信息、 用户订购单信息、 商家信息和 / 或可销售商品信息。
与现有技术相比, 本发明的实施方式的并发控制预处理方法的有益效果在于 : 运 用并发控制预处理机制, 有效提高对数据并发访问的控制效率 ; 从而减少并发业务的响应 时间, 缩短用户的等待时间 ; 进而提高并发业务用户的体验指数。 附图说明
图 1 是现有技术的数据处理系统的示意图 ; 图 2 是本发明实施方式的数据处理系统的系统示意图 ; 图 3 是本发明另一种实施方式的数据处理系统的系统示意图 ; 图 4 是本发明实施方式中并发控制预处理方法的示意图 ; 图 5 是本发明一种实施例中并发控制预处理方法的示意图 ; 图 6 是本发明的数据处理系统中服务器的一种实施方式的示意图。具体实施方式
参考图 1, 是本发明实施方式的数据处理系统的系统示意图。
所述数据处理系统包括服务器 102 以及数据库 103。所述服务器 102 配置成与用 户设备 101 进行交互, 从而可以为用户提供各种类型的服务。
其中, 用户设备 101 与服务器 102 之间可以通过各种网络建立连接, 实现数据通 信。所述网络可以采用现有的各种网络技术加以实施, 此不赘述。具体实施时, 所述用户设 备 101 和服务器 102 之间可以采用 B/S(Browse/Server) 或 C/S(Client/Server) 架构。
用户设备 101 用于实现与用户的交互, 接收用户的操作指令并向用户呈现结果 ; 实现与服务器 102 之间的通信, 向服务器 102 发送请求, 处理从服务器 102 接收到的数据。
具体实现中, 用户设备 101 可以是具备与用户的交互功能、 数据处理和通信功能 的电子设备, 例如 PC 机终端和移动终端等。
所述数据库 103 为服务器 102 提供用户身份信息和服务所需数据, 以辅助所述服 务器 102 实现数据处理。数据库 103 可以接受服务器 102 的查询、 删除、 添加、 统计和备份 等操作。所述数据库 103 可以是服务器 102 的运营商自身拥有的, 可以部署在服务器 102 的本地, 也可以部署在远端, 与服务器 102 之间可以通过网络实现交互。
服务器 102 实现与用户设备 101 的交互, 负责接收用户设备 101 发出的请求 ; 根据 所述请求中的相关参数从数据库 103 获取相关数据, 处理前述请求 ; 根据需要将处理结果 反馈至用户设备 101 和 / 或更新数据库 103。
具体地, 所述服务器 102 包括预处理单元 1023 和处理单元 1024。 其中, 所述预处理 单元 1023 用于对来自多个用户设备的并发数据处理请求进行预处理 ; 所述处理单元 1024 用于根据预处理通过的数据处理请求从数据库中获取服务所需数据, 生成与所述数据处理 请求对应的处理结果。具体地, 所述预处理可以是基于预设的处理数量, 允许在该预设数量范围的数据 处理请求通过, 进入后续的处理, 拒绝其他的数据处理请求。
具体地, 所述预处理也可以是缓存预设数量范围内的数据处理请求, 拒绝其他的 数据处理请求 ; 根据服务类型、 服务条件和 / 或用户特征等关键信息对缓存的数据处理请 求进行综合判断, 确定进入后续处理的数据处理请求, 拒绝其他的数据处理请求。因此, 被 拒绝的数据处理请求包括未进入缓存的数据处理请求, 也包括进入缓存后被拒绝的数据处 理请求。
参考图 3, 在另一种实施方式中, 所述服务器 102 包括处理单元 1021 和数据缓存 单元 1022。其中, 所述数据缓存单元 1022 用于缓存数据处理所需关键信息 ; 所述处理单元 1021 用于根据来自用户设备 101 的数据处理请求和所述数据处理所所需关键信息进行预 处理 ; 对于预处理通过的数据处理请求, 从数据库中获取服务所需数据, 生成与所述数据处 理请求对应的处理结果。
具体地, 所述关键信息可以是服务类型、 服务条件、 用户设备发送的数据处理请求 对应的用户的用户特征等。
具体地, 所述预处理可以是缓存预设数量范围内的数据处理请求, 拒绝其他的数 据处理请求 ; 根据服务类型、 服务条件、 用户特征对缓存的数据处理请求进行综合判断, 确 定进入后续处理的数据处理请求, 拒绝其他的数据处理请求。 因此, 被拒绝的数据处理请求 包括未进入缓存的数据处理请求, 也包括进入缓存后被拒绝的数据处理请求。
本发明的一个实施例中, 所述数据处理系统为网络购物系统。 此种情形下, 服务器 102 在接收到来自多个用户设备 101 的并发商品订购请求后, 基于网络购物的应用特征, 对 商品订购请求进行预处理并响应 ; 依据预处理通过的商品订购请求从数据库 103 中获取相 应的用户和商品数据, 基于获取的数据处理所述商品订购请求, 随后将结果返回给用户设 备 101。
其中, 本实施例的所述预处理是指 : 服务器 102 根据网络购物的特征, 分析处理商 品订购所需关键数据, 将关键的数据缓存于主存中 ; 接收到用户设备 101 发送的商品订购 请求后, 先直接依据主存中的关键数据进行预处理, 快速响应 ; 再结合数据库 103 中的数据 完整地处理预处理通过的商品订购请求。
其中, 数据库 103 中存储的数据包括用户身份信息、 用户订购单信息、 商家信息以 及其可销售商品信息等。
其中, 用户身份信息、 商家信息以及可销售商品信息可以是来自于用户 ( 或商家 ) 提供的信息, 或者是操作人员录入的信息, 或者是其他设备或系统传输过来的信息等, 可以 经过服务器进行相应的处理, 此不赘述。
用户订购单信息是由所述数据处理系统进行处理后生成的。在具体实现上, 所述 用户订购单的信息可以用一条记录表示, 包含但不限于用户账号、 订购商品标识、 订购商品 数量、 订购商品单价、 订购日期、 订购时间和订购处理时间等信息。 通常, 单次订购商品对应 一条记录。一个用户可以订购多种商品, 每种商品的订购分别对应订购一条记录。一个用 户也可以多次订购一种商品, 每次订购对应一条记录。
本实施例中, 前述数据处理系统的工作过程一般可以是 : 用户操作的用户设备 101 向服务器 102 发送商品订购请求 ; 服务器 102 在接收到来自多个用户设备 101 的并发商品订购请求后, 基于网络购物的应用特征, 对商品订购请求进行预处理并响应 ; 依据预处 理通过的商品订购请求从数据库 103 中获取相应的用户和商品数据, 基于获取的数据处理 所述预处理通过的商品订购请求, 随后将结果返回给用户设备 101。
参考图 4, 所述数据处理系统的并发控制预处理方法的一种实施方式包括 :
步骤 S11, 服务器接收到来自多个用户设备的并发数据处理请求, 进行预处理 ;
其中, 所述预处理可以是根据数据处理所需关键信息的类型, 提取数据处理请求 中相应类型的信息, 根据提取出的信息和数据处理所需关键信息确定允许通过的数据处理 请求。
具体地, 所述关键信息可以是服务类型、 服务条件、 用户设备发送的数据处理请求 对应的用户的用户特征等。
例如, 一种处理方式是, 对数据处理请求中的内容和关键信息中的服务条件进行 对比, 对位于服务条件范围内的前几个数据处理请求的预处理结果为通过, 拒绝其他的数 据处理请求。
此外, 所述于处理也可以是是基于预设的处理数量, 允许在该预设数量范围的数 据处理请求通过, 进入后续的处理, 拒绝其他的数据处理请求。
步骤 S12, 对于预处理通过的数据处理请求, 从数据库中获取对应的服务所需数据; 步骤 S13, 基于所述服务所需数据, 服务器对预处理通过的数据请求进行处理, 生 成相应的处理结果 ;
步骤 S14, 根据所述处理结果更新数据库。
步骤 S15, 将所述处理结果反馈至用户设备。
一种实施例中, 所述数据处理系统为网络交易系统。 参考图 5, 在此实施例中, 并发 控制预处理方法包括 :
步骤 S101, 用户设备向服务器发送用户登录请求。
所述登录请求中携带必要的用户名和密码信息。
步骤 S102, 服务器查询数据库, 是否有记录的信息与接收到的用户设备发送的登 录请求中的用户名和密码匹配 ; 如果有匹配的记录, 身份验证成功, 否则身份验证失败。
如果验证成功, 服务器可以查询数据库中的可销售商品信息, 并发送给用户设备。
步骤 S103, 服务器向用户设备发送身份验证结果, 并缓存验证结果和身份信息。
用户设备收到验证结果后, 判断身份验证是否成功。 如果身份验证不成功, 则可以 重新执行步骤 S101、 S102 和 S103, 再次发起身份验证。如果身份验证成功, 执行步骤 S104。
步骤 S104, 用户设备向用户呈现可销售商品信息。
步骤 S105, 用户设备接收用户的操作信息, 生成订购请求 ( 例如商品订购单 ), 并 将之发送给服务器。
步骤 S106, 服务器接收到商品订购单后, 采用并发控制预处理方式处理用户订购 请求, 并处理结果发送给用户设备。
其中, 所述处理过程具体包括 : 服务器将待处理的订购请求放入订购单预处理队 列中 ;
依据内存中的关键数据以先入先出的方式快速预处理订购请求, 向用户设备发送
订购请求的预处理结果 ;
具体地, 所述关键数据可以是商品类型、 商品数量、 用户特征等。 例如, 一种处理方 式是, 对用户订购请求中的数量和商品数量进行对比, 对数量总和位于商品数量范围内的 前几个符合用户特征的用户订购请求的预处理结果为通过, 拒绝其他的用户订购请求。
将预处理通过的订购请求放入订购单系统处理队列, 结合数据库中的数据以先入 先出的方式地处理订购请求 ; 根据处理结果更新数据库中的相关数据, 将处理结果发送给 用户设备。
步骤 S107, 用户设备向用户呈现最终结果。
参考图 6 所示, 是本发明实施方式中的服务器的示意图。
所述服务器包括关键数据管理单元 201、 预处理队列管理单元 202、 并发控制预处 理单元 203、 系统处理队列管理单元 204 和系统处理单元 205。
关键数据管理单元 201 用于根据数据处理请求分析所需的关键数据, 并保持与数 据库中的关键数据一致。
预处理队列管理单元 202 用于在大量数据处理请求并发时, 以先入先出为原则, 以队列的方式管理等待预处理的数据处理请求, 将数据处理请求放入数据处理请求预处理 队列。 并发控制预处理单元 203 用于从数据处理请求预处理队列中, 以先入先出为原 则, 依据关键数据管理单元 201 中的关键数据, 快速预处理数据处理请求并响应终端设备。
系统处理队列管理单元 204 的主要功能是, 管理由并发控制预处理单元 203 预处 理成功的数据处理请求。 例如, 以先入先出为原则, 以队列的方式管理等待处理的数据处理 请求, 将预处理过的数据处理请求放入数据处理请求系统处理队列。
系统处理单元 205 用于依据预处理的结果, 结合数据库中的数据, 处理预处理通 过的数据处理请求。
因为预处理过程中, 所依据的关键数据管理单元 201 中的关键数据时刻与数据库 中的保持一致, 所以预处理成功的数据处理请求, 通常实际上也会成功地得到处理。
因为预处理过程中, 不操作实际的数据库, 所以处理速度非常快, 响应的时间大大 缩短, 用户的等待时间大为缩短。
本领域的技术人员可以理解, 本发明实施方式中的方法可以通过硬件的方式实 现, 也可以通过包括计算机程序在内的软件方式控制处理器等硬件加以实现。所述计算机 程序可以存储在各种现有的存储介质中, 此不赘述。
虽然本发明已通过较佳实施例说明如上, 但这些较佳实施例并非用以限定本发 明。 本领域的技术人员, 在不脱离本发明的精神和范围内, 应有能力对该较佳实施例做出各 种改正和补充, 因此, 本发明的保护范围以权利要求书的范围为准。并且, 本发明中用到的 术语、 字词以及权利要求的含义不能仅限于其字面和普通的含义去理解, 还应包括与本发 明的技术相符的含义和概念。