繁体   English   中英

如何为我的iOS应用程序设计我的服务器数据库?

[英]How to design my servers database for my iOS application?

我正在开发一个iOS应用程序,用户可以在其中发布服务器中的各种事件并查看从所有用户创建的事件。 我的问题,没有编程性质。 我想在这里展示一下,我将如何设计我的服务器数据库并告诉我你对它的看法以及我如何改进它。

该应用程序有一个非常简单的界面,当用户想要发布一个事件时,只需写一个标题,一些评论并附上一张照片。 然后,此信息通过XML发送到我的服务器并存储到数据库中。

问题是,因为有些人不成熟,他们会尝试发布不恰当的文字甚至是照片。 所以我想对我的用户有一些控制权。 我的想法是,当应用程序第一次在移动电话上运行并连接到服务器时,服务器会将用户ID发送回电话。 然后,每次用户发送xml文件时,他都会使用xml(以编程方式附加)附加其用户标识。 另外,我会保留另一个数据库,其中包含随时间创建的所有用户ID。 因此,如果我注意到不适当的事件,我可以从我的数据库中删除用户ID,并且下次用户尝试发送内容时,服务器会理解该ID不在数据库中,因此不允许发布。 当然,如果有人决定卸载并重新安装应用程序并获得新的用户ID,他可以再次发布,但这对我来说没关系。

这是一种更容易预防不成熟行为的方法,还是听起来不错?

当然你所描述的是可能的。 但它有一个大问题:机器人(脚本)可以轻松使用该界面。 因此,如果有人真的想要错过你的服务,他可以在一秒钟之内充斥你喜欢的任何东西。 或者他可以一次又一次地尝试,直到你不得不放弃从服务中删除他的帖子。

我建议你看一下现有的框架。 这样你就不必重新发明轮子(已经完成了19562394792次,并计算)并且不必从你的错误中学习(你肯定会犯错误)。

这是关于图像的唯一可行解决方案,因为您无法轻松地对图像执行任何识别以确定它是否合适。 他们发布的评论将更容易扫描不适当的项目。

如果您愿意这样做,那么您的解决方案听起来就像是正确的解决方案。 与任何开放系统一样,您无法像上面提到的那样阻止人们创建新帐户。 您可以记录和禁止IP地址,但这不再是一个非常好的解决方案,因为大多数IP地址实际上可能是共享网关地址,并且这些地址在用户之间频繁轮换。

创建一个ID。 注意行为。 禁止身份证。 并鼓励社区参与通过某种旗帜按钮提醒您不良帖子。

有许多方法可以设计数据库,而不仅仅是用于iOS应用程序。 但是,当我构建移动应用程序(iOS,Android或任何其他)时,我想确保发送和接收的数据量尽可能小; 这就是为什么我使用JSON而不是XML ...更小的占用空间。

因为我使用JSON我喜欢使用像MongoDB(我最喜欢的)或CouchDB这样的对象数据库,因为我1)不需要担心我的数据结构和2)数据库以JSON格式存储对象。

然后我将Node.JS用于我的应用程序服务器,所以现在我有JSON数据库 - >我的服务器应用程序代码中的JSON对象 - >输出JSON ...无缝,无需Mappers或序列化。 FTW。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM