時間同步問題

 
    BUG 描述:
      客戶反饋網絡時間同步慢
    
    BUG 產生原因:
        訪問原生NTP服務慢常獲取不到時間
    
    動作/解決方案:
        增加訪問多組NTP服務器獲取時間,調整訪問間隔。

 

--- a/android/frameworks/base/core/java/android/util/NtpTrustedTime.java
+++ b/android/frameworks/base/core/java/android/util/NtpTrustedTime.java
@@ -42,6 +42,13 @@ public class NtpTrustedTime implements TrustedTime {
     private final String mServer;
     private final long mTimeout;
 
+    //NTP server, added by fan, 2019.8.7
+    private final String mBServer1 = "ntp1.aliyun.com";
+    private final String mBServer2 = "cn.pool.ntp.org";
+    private final String mBServer3 = "cn.ntp.org.cn";
+    private final String mBServer4 = "ntp6.aliyun.com";
+    //end.
+
     private ConnectivityManager mCM;
 
     private boolean mHasCache;
@@ -101,7 +108,13 @@ public class NtpTrustedTime implements TrustedTime {
 
         if (LOGD) Log.d(TAG, "forceRefresh() from cache miss");
         final SntpClient client = new SntpClient();
-        if (client.requestTime(mServer, (int) mTimeout)) {
+
+        //NTP server, added by fan, 2019.8.7
+        if (client.requestTime(mServer, (int) mTimeout) ||
+            client.requestTime(mBServer1, (int) mTimeout) || 
+            client.requestTime(mBServer2, (int) mTimeout) ||
+            client.requestTime(mBServer3, (int) mTimeout) ||
+            client.requestTime(mBServer4, (int) mTimeout)) {
             mHasCache = true;
             mCachedNtpTime = client.getNtpTime();
             mCachedNtpElapsedRealtime = client.getNtpTimeReference();
@@ -110,6 +123,7 @@ public class NtpTrustedTime implements TrustedTime {
         } else {
             return false;
         }
+        //end.
     }
 

 

--- a/android/frameworks/base/core/res/res/values/config.xml
+++ b/android/frameworks/base/core/res/res/values/config.xml
@@ -1597,11 +1597,15 @@
     <string translatable="false" name="config_ntpServer">2.android.pool.ntp.org</string>
     <!-- Normal polling frequency in milliseconds -->
     <integer name="config_ntpPollingInterval">86400000</integer>
+
+    <!-- NTP server, added by fan, 2019.8.7-->
     <!-- Try-again polling interval in milliseconds, in case the network request failed -->
-    <integer name="config_ntpPollingIntervalShorter">60000</integer>
+    <integer name="config_ntpPollingIntervalShorter">10000</integer>
     <!-- Number of times to try again with the shorter interval, before backing
          off until the normal polling interval. A value < 0 indicates infinite. -->
-    <integer name="config_ntpRetry">3</integer>
+    <integer name="config_ntpRetry">30</integer>
+    <!--end.-->
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章