增加HLRredis同步

This commit is contained in:
lai
2025-01-10 09:49:42 +08:00
parent ae99ff0534
commit da42a95d46
6 changed files with 187 additions and 6 deletions

View File

@@ -0,0 +1,88 @@
<?php
/*********************************************************
程序说明:
功能说明HLR Redis同步
调用关系:调用: header.inc
被调用:
变量说明:
作者Lai
修改注释:
NO.1
姓名: Lai
时间: 2025 01 09
修改说明:
*********************************************************/
require("../../inc/header.inc");
$sysTypeNo=$_REQUEST['sysTypeNo'];
$dataTypeNo=$_REQUEST['dataTypeNo'];
$userNum = 0;
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth("helloearth");
$hkey_arr = $redis->keys("*");
$hkeyArrVal = array_values($hkey_arr);
// 打印 $hkeyArrVal
foreach ($hkeyArrVal as $value)
{
if (strstr($value, "hlruser:"))
{
$hlruser[$userNum]=$value;
$userNum++;
}
}
//print_r($hlruser)
global $OMC_server;
$objConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], "OBJ_".$sysTypeNo);
$dbConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], "HLR_DB");
$sql="TRUNCATE HLR_DB.subscriberData";
mysqli_query($dbConn,$sql);
$tmpsql="TRUNCATE OBJ_330.tmpSubsData_0";
mysqli_query($objConn,$tmpsql);
// 初始化进度条
echo '<div id="progressContainer" style="width: 320px; border: 1px solid #000; background-color: #0000FF; height: 20px; position: relative;">';
echo '<div id="progressBar" style="width: 0%; height: 100%; background-color: #FFFFFF;"></div>';
echo '</div>';
echo '<div id="progressText">0%</div>';
for ($k = 0; $k < $userNum; $k++) {
$hlr_detail = $redis->hGetAll($hlruser[$k]);
$imsi = explode(":", $hlruser[$k])[1];
$camel = bin2hex($hlr_detail['camel']);
$nam = bin2hex($hlr_detail['nam']);
$usedFlag = bin2hex($hlr_detail['enable']);
$updateSql = "INSERT INTO HLR_DB.subscriberData (imsi, inter_msisdn, camel_flag, nam, used_flag) VALUES ('$imsi', '$hlr_detail[msisdn]', '$camel', '$nam', '$usedFlag')";
mysqli_query($dbConn, $updateSql);
// 检查错误
$errStr = mysqli_error($dbConn);
if ($errStr != null) {
//echo "updateSql=$updateSql<br>";
echo mysqli_error($dbConn);
}
// 更新进度条
$progress = round(($k + 1) / $userNum * 100);
echo "<script>
document.getElementById('progressBar').style.width = '$progress%';
document.getElementById('progressText').innerText = '$progress%';
</script>";
flush(); // 刷新输出缓冲区
}
// 最后更新进度条到 100%
echo "<script>
document.getElementById('progressBar').style.width = '100%';
document.getElementById('progressText').innerText = '100%';
</script>";
usleep(100000); // 可选:添加延迟以便观察进度条变化
echo "<script>window.location.href = './subscriberListDown.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&sysNo=$sysNo&sysId=$sysId';</script>";
?>

View File

@@ -264,7 +264,7 @@ $getSysIdResult=mysqli_query($pubConn,$getSysIdSql);
// debug_log("/tmp/debug.txt",$getSysIdResult); // debug_log("/tmp/debug.txt",$getSysIdResult);
echo mysqli_error($pubConn); echo mysqli_error($pubConn);
//debug_log("/tmp/debug.txt",mysqli_num_rows($getSysIdResult)); //debug_log("/tmp/debug.txt",mysqli_num_rows($getSysIdResult));
if(mysqli_num_rows($getSysIdResult) > 0){ if(mysqli_num_rows($getSysIdResult) > 0 ||$sysTypeNo==330){
$getSysIdRows=mysqli_fetch_array($getSysIdResult); $getSysIdRows=mysqli_fetch_array($getSysIdResult);
$sysNo = $getSysIdRows[sysNo]; $sysNo = $getSysIdRows[sysNo];

View File

@@ -138,8 +138,9 @@ function checkSubmit(actionType,transValue){
//echo "baseURL = \"./subscriberConfig.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&\"; \n"; //echo "baseURL = \"./subscriberConfig.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&\"; \n";
break; break;
case '330': case '330':
echo "baseURL = \"./hlrSubsConf.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&\"; \n"; //echo "baseURL = \"./hlrSubsConf.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&\"; \n";
//echo "baseURL = \"./subscriberConfig.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&\"; \n"; //echo "baseURL = \"./subscriberConfig.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&\"; \n";
echo "baseURL = \"./hlrGetAll.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&\"; \n";
break; break;
case '340': case '340':
echo "baseURL = \"./aucSubsConf.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&\"; \n"; echo "baseURL = \"./aucSubsConf.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&\"; \n";

View File

@@ -0,0 +1,88 @@
<?php
/*********************************************************
程序说明:
功能说明HLR Redis同步
调用关系:调用: header.inc
被调用:
变量说明:
作者Lai
修改注释:
NO.1
姓名: Lai
时间: 2025 01 09
修改说明:
*********************************************************/
require("../../inc/header.inc");
$sysTypeNo=$_REQUEST['sysTypeNo'];
$dataTypeNo=$_REQUEST['dataTypeNo'];
$userNum = 0;
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth("helloearth");
$hkey_arr = $redis->keys("*");
$hkeyArrVal = array_values($hkey_arr);
// 打印 $hkeyArrVal
foreach ($hkeyArrVal as $value)
{
if (strstr($value, "hlruser:"))
{
$hlruser[$userNum]=$value;
$userNum++;
}
}
//print_r($hlruser)
global $OMC_server;
$objConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], "OBJ_".$sysTypeNo);
$dbConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], "HLR_DB");
$sql="TRUNCATE HLR_DB.subscriberData";
mysqli_query($dbConn,$sql);
$tmpsql="TRUNCATE OBJ_330.tmpSubsData_0";
mysqli_query($objConn,$tmpsql);
// 初始化进度条
echo '<div id="progressContainer" style="width: 320px; border: 1px solid #000; background-color: #0000FF; height: 20px; position: relative;">';
echo '<div id="progressBar" style="width: 0%; height: 100%; background-color: #FFFFFF;"></div>';
echo '</div>';
echo '<div id="progressText">0%</div>';
for ($k = 0; $k < $userNum; $k++) {
$hlr_detail = $redis->hGetAll($hlruser[$k]);
$imsi = explode(":", $hlruser[$k])[1];
$camel = bin2hex($hlr_detail['camel']);
$nam = bin2hex($hlr_detail['nam']);
$usedFlag = bin2hex($hlr_detail['enable']);
$updateSql = "INSERT INTO HLR_DB.subscriberData (imsi, inter_msisdn, camel_flag, nam, used_flag) VALUES ('$imsi', '$hlr_detail[msisdn]', '$camel', '$nam', '$usedFlag')";
mysqli_query($dbConn, $updateSql);
// 检查错误
$errStr = mysqli_error($dbConn);
if ($errStr != null) {
//echo "updateSql=$updateSql<br>";
echo mysqli_error($dbConn);
}
// 更新进度条
$progress = round(($k + 1) / $userNum * 100);
echo "<script>
document.getElementById('progressBar').style.width = '$progress%';
document.getElementById('progressText').innerText = '$progress%';
</script>";
flush();
}
// 更新进度条到 100%
echo "<script>
document.getElementById('progressBar').style.width = '100%';
document.getElementById('progressText').innerText = '100%';
</script>";
usleep(100000);
echo "<script>window.location.href = './subscriberListDown.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&sysNo=$sysNo&sysId=$sysId';</script>";
?>

View File

@@ -19,6 +19,7 @@ NO.1
require("../../inc/header.inc"); require("../../inc/header.inc");
$sysTypeNo=$_REQUEST['sysTypeNo']; $sysTypeNo=$_REQUEST['sysTypeNo'];
$dataTypeNo=$_REQUEST['dataTypeNo']; $dataTypeNo=$_REQUEST['dataTypeNo'];
$userNum = 0;
//$helpId="6.4.1"; //$helpId="6.4.1";
?> ?>
@@ -47,15 +48,18 @@ function checkSubmit(actionType,transValue){
echo "baseURL = \"../pubSubsImport/subscriberImportIndex.php?sysId=$sysId&dataTypeNo=$dataTypeNo&\"; \n"; echo "baseURL = \"../pubSubsImport/subscriberImportIndex.php?sysId=$sysId&dataTypeNo=$dataTypeNo&\"; \n";
else else
echo "baseURL = \"../pubSubsImport/subscriberImportIndex.php?sysId=$sysTypeNo"."_99_99&dataTypeNo=$dataTypeNo&\"; \n"; echo "baseURL = \"../pubSubsImport/subscriberImportIndex.php?sysId=$sysTypeNo"."_99_99&dataTypeNo=$dataTypeNo&\"; \n";
?> ?>
break; break;
case 5: //get all
case 5: //get all
<?php <?php
if($sysTypeNo==330)
echo "baseURL = \"./hlrGetAll.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&\"; \n";
else
echo "baseURL = \"./subscriberConf.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&\"; \n"; echo "baseURL = \"./subscriberConf.php?sysTypeNo=$sysTypeNo&dataTypeNo=$dataTypeNo&\"; \n";
?> ?>
break; break;
default: default:
alert("Unknown action!"); alert("Unknown action!");
return(false); return(false);

View File

@@ -227,7 +227,7 @@ function selectChn(){
} }
?> ?>
</td></tr> </td></tr>
<tr><td align="center"><b><font size=6>R2501.1</font></b></td></tr> <tr><td align="center"><b><font size=6>R2501.2</font></b></td></tr>
</table> </table>
</form> </form>
</body> </body>