首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用JSP/MySQL实现自动招投标功能

用JSP/MySQL实现自动招投标功能
EN

Stack Overflow用户
提问于 2019-04-15 08:00:46
回答 1查看 200关注 0票数 0

目前在一个项目上工作,可以使用一些建议,如何实现一个类似于Ebay的网络应用程序的自动竞价系统。

我的问题实际上是如何处理“自动”功能。在最初的想法中,我认为我可以只做一个MySQL触发器,然而,我很快就了解到触发器不允许您插入/更新触发表。

我能想到的唯一其他真正的解决方案是用Java在服务器端处理这个问题,然而,我可以看到这个实现的时间复杂度很低:

例如:

自动竞价的工作方式是,在未达到自动竞价限制的情况下,在由不同用户对指定项进行的任何竞价之上创建新的竞价项0.01

如果许多用户配置了自动竞价,这可能会迭代相当长的一段时间,在每次迭代时,系统都会进行更新查询,我可以想象这在任何有真实用户的生产环境中都会变得很慢……

另外,如果我做了一个服务器端解决方案,这意味着当一些给定的,不幸的用户发送一次性出价或配置自动出价时,他们将等待服务器处理这项工作,然后才能得到适当的响应。

虽然在这样的场景中,只需创建一个对应于最高自动竞价限制的竞价项目是有意义的,但不幸的是,我确实需要通过这个+0.01来回运行的过程来实际模拟一个自动系统。

那么,有没有更好的办法呢?

EN

回答 1

Stack Overflow用户

发布于 2019-04-15 15:50:03

如果你是拍卖和自动竞价系统的操作员,你根本不需要任何计时器。结果是在您知道所有自动出价限制和手动出价时决定的:出价最高的中标,平局通常是较早的出价时间(或任何您想出的)。

对于你的服务器,自动出价和普通出价是一样的,它们只是在用户体验上有所不同。您的服务器只需要知道哪些出价存在,以及何时添加它们。

例如,您可以在每次更改实际出价或自动出价限制时添加和更新有效步骤出价。处理它需要多长时间并不重要,结果将是相同的。例如,如果2个用户在截止日期前添加了$100k的自动出价0.2s,而一个用户在截止日期之前添加了$101k的出价0.1s,那么您将花费超过0.2s的时间来生成1000万美元的0.01步。但是要回答与大多数投标人最相关的问题,“我赢了吗?我需要支付什么?”,你不需要等待步骤创建过程结束,你只需要查看3个出价,就可以立即告诉用户3中奖了,必须支付10万美元和1美分。

从技术上讲,您甚至不需要将步骤存储在数据库中,因为每次有人想要查看详细的投标过程时,您的服务器端代码都可以从存储的限制和出价中生成这些(确定的)步骤。这似乎不符合您的需求,但可能是一个功能。(您可以将其称为“压缩”,甚至“标准化”)。

对于用户,您显然只会显示到当前时间为止的结果出价。客户端可以使用计时器自动刷新以使其更令人兴奋(因为,与您相比,他还不知道谁将获胜),但这与您的服务器端代码无关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55681110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档