Inhaltsverzeichnis
回复讨论(解决方案)
Heim Backend-Entwicklung PHP-Tutorial 关于服务器的差异化(另说增量)更新

关于服务器的差异化(另说增量)更新

Jun 23, 2016 pm 01:20 PM

不明白要如何做,目前属于服务器小白

比如两个用户,服务器数据目前有10条,A和B都更新了
过了一会,服务器有更新,数据从10条增加到了15条

A更新了,app本地的数据从10条变成了15条;但是B没更新,还是10条;

再过了一会,服务器数据又更新了,数据从15条增加到了20条


那我怎么让A只增加更新的5条(15到20的),让B更新10条(10到20的)呢?


回复讨论(解决方案)

我自己来吧

把当前数据序号(这里就用id)的最大值传给app,app记录下来

一开始A和B同时进行更新,他俩都是10

更新的时候,给服务器发数据序号(这里就用id)这个过去,服务器通过select * from XXX where id >= app本地数据序号进行查询

A更新的时候(从10条变成了15条)那么当前这个id是15;B没进行更新,他还是10;

再次更新的时候,同理,服务器只会给A发送16到20的数据,对于B服务器发送11到20的数据,让他们增量更新

针对于简单的逻辑(只是对数据的新增),上面的部分已经解决了

但这里又出现一个新问题,服务器的数据进行更改或者标记删除?怎么办?

那么你需要看下面的处理:
新增一个字段mark一开始设置为0

一开始A和B同时进行更新(都更新了10条数据),把mark为0的都更新过去了,本地的mark为0

现在对表中的数据更新(从10到15),对里面的某条数据进行修改(第3条),对第5条进行删除(标记为-1);现在服务器的数据mark标记10到15的为1(1到10的还是不变为0)

A进行了更新(从10到15),他本地的mark变成了1;B没更新mark本地还是0;

服务器的数据再次更新(从15到20)
这时A和B都更新,A给服务器传mark的值为1,服务器查找比mark大的标记(15到20条数据)发给A;同理,给B发送mark大于0的标记(10到20条数据);他俩也能达到差异更新

现在来看看上面的,如果对数据进行修改了,怎么办?
假如上面所说的服务器对第3条数据进行了修改,那么我们约定mark+2为修改的,app在碰到mark+2的,就要对这条数据进行更新,具体更新客户端来做;同样标记删除的,我们约定为-1,那是标记不显示出来;

现在问题又来了

假如目前服务器的mark标记已经达到了5000,一个app他从未更新,现在还是0(类似情况也适用于新安装的客户端);那么他需要同时更新到5000(可能数据有十来万),这怎么办?


所以要加一个限定,我们假设app上传本地mark的时候,服务器判断,他和服务器中最大的mark相差超过50,我们只给其发送最大-50的数据(用在这里就是4950到5000的数据列),这样就减少了客户端的压力

那么,可能就要问了,期间的数据怎么办?

首选丢弃。。第二选择,可以选择一个小版本,对这部分的处理。

不过参考微信和qq的数据,他们也是对这部分进行删除的,我们还给她保留可点。。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) 11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) Mar 03, 2025 am 10:49 AM

Lange URLs, die oft mit Schlüsselwörtern und Tracking -Parametern überfüllt sind, können Besucher abschrecken. Ein URL -Verkürzungsskript bietet eine Lösung, die präzise Links erstellt, die ideal für soziale Medien und andere Plattformen sind. Diese Skripte sind für einzelne Websites a wertvoll

Einführung in die Instagram -API Einführung in die Instagram -API Mar 02, 2025 am 09:32 AM

Nach seiner hochkarätigen Akquisition durch Facebook im Jahr 2012 nahm Instagram zwei APIs für den Einsatz von Drittanbietern ein. Dies sind die Instagram -Graph -API und die Instagram Basic Display -API. Ein Entwickler, der eine App erstellt, die Informationen von a benötigt

Arbeiten mit Flash -Sitzungsdaten in Laravel Arbeiten mit Flash -Sitzungsdaten in Laravel Mar 12, 2025 pm 05:08 PM

Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Mar 04, 2025 am 09:33 AM

Dies ist der zweite und letzte Teil der Serie zum Aufbau einer Reaktionsanwendung mit einem Laravel-Back-End. Im ersten Teil der Serie haben wir eine erholsame API erstellt, die Laravel für eine grundlegende Produktlistenanwendung unter Verwendung von Laravel erstellt hat. In diesem Tutorial werden wir Dev sein

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Mar 12, 2025 pm 05:09 PM

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

Ankündigung von 2025 PHP Situation Survey Ankündigung von 2025 PHP Situation Survey Mar 03, 2025 pm 04:20 PM

Die 2025 PHP Landscape Survey untersucht die aktuellen PHP -Entwicklungstrends. Es untersucht Framework -Nutzung, Bereitstellungsmethoden und Herausforderungen, die darauf abzielen, Entwicklern und Unternehmen Einblicke zu geben. Die Umfrage erwartet das Wachstum der modernen PHP -Versio

See all articles