بعد ذلك ، سأصف التعليمات الخاصة بكيفية حصولي على إحصائيات دردشة فايبر باستخدام ملف النسخ الاحتياطي.
1. النسخة الاحتياطية من الحساب لها تنسيق قاعدة البيانات viber.db ، بالنسبة لإصدار الكمبيوتر الشخصي ، فهي موجودة على طول المسار: C: \ Users \ <User_name> \ AppData \ Roaming \ ViberPC \ <phone number>.
2. استخدمت متصفح SQL Lite لقراءة ملف قاعدة البيانات.
3. افتح ملف viber.db في متصفح SQL Lite . تبدو قاعدة البيانات على
النحو التالي : 4. الجدول الرئيسي هو الأحداث ، وجميع الأحداث (حسب الحساب) في المظهر مرقمة (EventID). تحتوي الجداول الأخرى على علاقة مفتاح خارجي تسمى EventID. يتم تخزين المعلومات المتعلقة بالرسائل في جدول الرسائل ، ومعلومات عن المستخدمين - في جدول جهات الاتصال. لقد استخدمت هذه الجداول الثلاثة فقط.
5. من أجل الحصول على إحصائيات حول الدردشة ، تحتاج أولاً إلى معرفة معرف الدردشة المطلوبة ChatID. للقيام بذلك ، حدد العنصر "عرض البيانات" في قائمة السياق لجدول ChatInfo وانتقل إلى علامة التبويب "البيانات" لعرضها.
6. من خلال اسم الدردشة (سمة الاسم) ، نبحث عن الاسم المطلوب وننظر إلى معرفه (سمة ChatID).
7. وبالمثل ، يمكنك الحصول على معرف المستخدم (ContactID) في جدول جهات الاتصال من خلال سمات الاسم (كما تم تسجيل المستخدم على هاتفك) أو ClientName (اسم المستخدم بواسطة حسابه). لقد استخدمت سمة ClientName لأن ليس لدي جميع المستخدمين في دفتر ملاحظات هاتفي.
8. بعد ذلك ، نحصل على البيانات المطلوبة عن طريق تشكيل استعلامات التحديد في علامة تبويب SQL. تعتمد السمات التي يجب القيام بها على الاحتياجات ، لذلك من الضروري تقديم طلب مناسب. بنفسي ، قدمت الطلبات الموضحة في الجدول 1.
الجدول 1. قائمة الطلبات المستخدمة
| P / p No. | طلب نص | وصف |
|---|---|---|
| 1 | حدد العدد (Messages.EventID) من الرسائل والأحداث حيث Messages.EventID = Events.EventID و Events.ChatID = 46 | عدد رسائل الدردشة |
| 2 | حدد العدد (Messages.EventID) ، Contact.ClientName من الرسائل ، الأحداث ، جهة الاتصال حيث Messages.EventID = Events.EventID and Events.ChatID = 46 and Events.ContactID = Contact.ContactID group by Events.ContactID order by Contact.ContactID | عدد المشاركات من قبل المستخدم (يعرض عدد الأحداث لكل مستخدم) |
| 3 | Select Contact.ContactID, Contact.ClientName from Messages, Events, Contact where Messages.EventID=Events.EventID and Events.ChatID=46 and Events.ContactID=Contact.ContactID group by Events.ContactID order by Contact.ContactID | |
| 4 | Select * from Messages, Events, Contact where Messages.EventID=Events.EventID and Events.ContactID=Contact.ContactID and Events.ChatID=46 and Events.ContactID=465 | |
| 5 | Select count(Messages.EventID), Messages.Type from Messages, Events where Messages.EventID=Events.EventID and Events.ChatID=46 group by Messages.Type order by Messages.Type | (. 2) |
| 6 | Select Count(Messages.Type), Messages.Type from Messages, Events, Contact where Messages.EventID=Events.EventID and Events.ContactID=Contact.ContactID and Events.ChatID=46 and Events.ContactID=482 group by Messages.Type | |
| 7 | Select Count(Messages.PGIsLiked), Contact.ClientName from Messages, Events, Contact where Messages.EventID=Events.EventID and Events.ChatID=46 and Messages.Type=0 and Messages.PGIsLiked=1 and Events.ContactID=Contact.ContactID group by Contact.ClientName order by Contact.ContactID | |
| 8 | Select Sum(Messages.PGLikeCount), Contact.ClientName from Messages, Events, Contact where Messages.EventID=Events.EventID and Events.ChatID=46 and Events.ContactID=Contact.ContactID group by Contact.ClientName order by Contact.ContactID | |
| 9 | Select Events.TimeStamp from Messages, Events, Contact where Messages.EventID=Events.EventID and Events.ContactID=Contact.ContactID and Events.ChatID=46 and Events.ContactID=460 order by Events.TimeStamp | (. . 11) |
2.
| № / | ||
|---|---|---|
| 1 | EventID | . , .. , |
| 2 | Type | ( , , ):
0 – : , 1 – 2 — 3 — 4 – 9 – 11 – 12 — 15 – , 65 – 66 – 67 – 68 – 69 — 72 – 77 — |
| 3 | ContactID | |
| 4 | ClientName | |
| 5 | ChatID | |
| 6 | TimeStamp | UNIX- POSIX- (. Unix time) — , UNIX POSIX- .
( UTC) 31 1969 1 1970, . |
9. بعد تنفيذ الاستعلام ، قمت بتصدير النتيجة أولاً إلى PDF ، ثم إلى التفوق (كان الأمر أسهل بالنسبة لي):
10. بعد ذلك استخدمت البيانات لإنشاء الرسوم البيانية في Excel ، على سبيل المثال ، عند الطلب رقم 5 (انظر الجدول 1):
ملاحظة 1. البيانات تختلف ، لأن الدردشة نشطة ويتم تحديث قاعدة البيانات.
ملحوظة 2. في برنامج Excel ، قمت بالفعل بدمج الأنواع 65 ... 77 في الخدمة العامة.
11. كيفية العمل مع سمة الوقت (الطابع الزمني). في قاعدة البيانات ، يتم استخدام وقت UNIX لربط الأحداث بالوقت ، وللحصول على البيانات المرتبطة بالربط بالتاريخ والوقت ، أصبح من الضروري معالجتها بشكل أكبر. هذا مثال على كيفية القيام بذلك في التفوق:
أ. احفظ نتائج الاستعلام رقم 9 (انظر الجدول 1) في Excel (العمود A).
ب. في العمود B ، نتجاهل الأحرف الثلاثة الأخيرة (لم أفهم الغرض منها) للحصول على الوقت بتنسيق UNIX. نقوم بذلك باستخدام الصيغة = LEFT (A2؛ DLSTR (A2) -3). قم بتمديد الصيغة على نطاق الخطوط بالكامل.
ج. العمود C مليء بالوحدات (عداد الرسائل).
د. في العمود D ، قم بترجمة التاريخ إلى تاريخ يمكن للبشر قراءته باستخدام الصيغة = (B2 / 86400) + 25569. قم بتمديد الصيغة على نطاق الصفوف بأكمله.
ه. لحساب عدد الرسائل في الشهر (الخلايا E2: R2) ، استخدم الصيغة = SUMIF ($ C $ 2: $ C $ 1434؛ $ D $ 2: $ D $ 1434؛ "> =" & E $ 1؛ $ D $ 2: $ D $ 1434؛ "<= "& EON MONTHS (1 دولار أمريكي ؛ 0)). قم بتمديد الصيغة لتشمل النطاق الكامل للأعمدة E1: R1.
F. نقوم ببناء مدرج تكراري بناءً على نطاق الخلايا E1: R2.
خاتمة
يتم تنفيذ طريقة جمع الإحصاءات هذه في الوضع اليدوي ، فهي كثيفة الاستخدام للموارد (على الأقل من حيث الوقت المستغرق) ، ولكنها على الأقل فعالة. لعدم وجود أفضل ، إذا جاز التعبير. يمكن استخدام هذه الطريقة ليس فقط للحصول على إحصائيات حول الدردشة ، ولكن أيضًا على حساب Viber ككل. أنا لا أرفق المصادر ، tk. لقد أجريت جميع العمليات على محادثة حقيقية تحتوي على بيانات شخصية للمستخدمين ، وأنا كسول جدًا لإنشاء محادثة منفصلة للاختبار. شكرآ لك على أهتمامك.