/portabilidade/instalacao

 

INFORMAÇÕES DE DISPONIBILIDADE E REQUISITOS

Para requisitar uma nova instalação da base de portabilidade é necessário entrar em contato com o N.O.C. da Directcall,

solicitando um backup completo da base BDO atualizada. Este arquivo de backup será disponibilizado na área de atualização:


Para realizar o download atualizado, é necessário disponibilizar o IP de origem que irá realizar o download,

apenas o IP fornecido terá acesso ao conteúdo.


O Download estará condicionado a uma velocidade máxima de 256Kbps o que em média deve demorar em torno de 15 a 20 minutos.

 

O aquivo será disponibilizado de forma compactada utilizando gzip e contendo aproximadamente 200MBs. Descompactado, o aquivo

SQL deve ocupar 1.3GBs e contém uma cópia atualizada das seguintes tabelas:


  • bilhetesPortabilidade - Tabela com milhões de registros de portabilidade, que deve ser atualizada diariamente;
  • csp_operadoras Tabela com Código de Seleção de Operadora;

  • operadoras Tabela com a lista de todas as operadoras;

  • prefixos_operadorasTabela que relaciona operadoras com seus prefixos originais;

  • updateControl Tabela de controle de atualização de bilhetes de portabilidade;

INSTALAÇÃO MANUAL DA BASE DE DADOS BDO

Após realizar o download e descompactá-lo, será necessário inserir as tabelas e seus conteúdos em um banco de dados criados no mysql.

 

O conteúdo SQL do aquivo de backup contempla a instrução “DROP TABLE IF EXISTS” o que significa que a tabela será removida

previamente caso exista, para que depois seja feita a inserção dos dados.

 

Diversas técnicas de inserção deste aquivo SQL podem ser utilizadas para concluir o processo de inflar a base de dados. Aqui vamos

abordar a inserção direta via console conforme os passos:

 

  • Criar o banco de dados:

# mysql -u root -h localhost -p

Enter password:

mysql> create database bdo;

Query OK, 1 row affected (0.00 sec)

mysql> quit

Bye

 

  • Inserir os dados do aquivo no banco criado

# mysql -u root -h localhost -proot BDO < bdo_install.sql

Este processo de inserção dos dados deve demorar aproximadamente 5 minutos.

 

ATUALIZAÇÃO MANUAL DA BASE BDO

O processo de atualização da base BDO deve ser feita diariamente. Porém, para poder realizar o processo de atualização é necessário

solicitar ao N.O.C. da Directcall a liberação do IP de origem para acesso ao repositório de atualização.

 

O repositório de atualização só está disponível fora do horário comercial em um período restrito da 21h às 05h.

Você deve programar seu sistema para realizar a atualização durante este período de disponibilidade.


O controle de atualização é realizado na tabela updateControl, mantendo a informação dos arquivos de atualização baixados e

inseridos na tabela bilhetePortabilidade.

 

mysql> select * from updateControl order by LAST_UPDATE desc; 

+---------------------+-------------+-------------------------+-----------+
| LAST_UPDATE | UPDATE_TYPE | FILE_NAME | FILE_SIZE |
+---------------------+-------------+-------------------------+-----------+
| 2014-11-21 10:01:56 | 1 | INCR-20141121100000.csv | 322964 |
| 2014-11-21 00:01:44 | 1 | INCR-20141121000001.csv | 365449 |
+---------------------+-------------+-------------------------+-----------+


Os arquivos de atualização estão disponíveis em:

 

Sujeito a disponibilidade e acessibilidade descritas anteriormente. 

Deve-se fazer download de todos os aquivos que ainda não foram instalados e que estão disponíveis no endereço citado.

Os nomes dos arquivos de update tem a data e hora em sua composição para facilitar o controle:

 

  • INCR-20141121100000.csv – Onde: 2014 é o ano, 11 é o mês 21 é o dia e 10 é a hora;


O arquivo de update tem o seguinte formado:

 

# head -3 INCR-20141121100000.csv

802631|3133528924|55125|0125|102|20141121081319|0|1|1|31856|

1018775|6181163640|55314|0314|561|20141121082012|0|1|1||

1148253|3134572011|55121|0121|232|20141121081322|0|1|1|31000|

 

Onde os campos são sequencialmente referenciados aos campos:

  1. ID_VERSAO

  2. TN_BILHETE_PORTABILIDADE

  3. RN1

  4. ID_PRESTADORA_RECEPTORA_ATUAL

  5. EOT

  6. DATA_ATIVACAO_DESATIVACAO

  7. TIPO_LNP

  8. MOTIVO_DOWNLOAD

  9. TIPODE_LINHA

  10. LOCALIDADE_CD_OPERADORA

 

INSTALAÇÃO VIA SCRIPT DA BASE DE DADOS BDO

Requisitos do Script

O script de automação da DirectCall foi desenvolvido para funcionar em plataforma linux e necessita de alguns pacotes para

que possa funcionar apropriadamente.

  • Sistemas Operacionais baseados em Debian devem ser instalado os pacotes:

    • apt-get install php-pear

    • pear install DB

  • Sistemas Operacionais baseados em Redhat devem ser instalados os pacotes:

    • yum install php-pear

    • pear install DB

OBS.: As aplicações básicas de PHP e Mysql também são pré-requisitos para o funcionamento da solução.


Configurando o Script para Instalação do BDO

Primeiramente é necessário editar o script para definir as informações de acesso ao banco de dados. Entre as linhas 90 e 100 do script existem as seguintes definições:

 

private $MySQLConnection;

private static $mysqlhost = "localhost";

private static $mysqluser = "root";

private static $mysqlpwd = "root";

private static $mysqldb = "BDO";


Basta alterar cada uma destas variáveis colocando as informações locais de acesso ao banco.


Executando o Script para Instalação da Base BDO 

Após instalar os pré-requisitos o script pode ser executado diretamente via modo texto, da seguinte forma:


# php BDO_UPDATE_BilhetesPortabilidade.php installFromBackup

20141121 17:16:42 - DEBUG: BilhetesPortabilidade::__construct: Creating class BilhetesPortabilidade

20141121 17:16:42 - INFO: BilhetesPortabilidade::__construct: Creating MySQL connection

20141121 17:16:42 - DEBUG: BilhetesPortabilidade::connectMySQL:

20141121 17:16:42 - INFO: BilhetesPortabilidade::installFromBackup: Downloading backup file from http://atualizabdo.globallink.net.br/BDO-INSTALL-MGW/bdo_install.sql.gz

20141121 17:16:42 - INFO: BilhetesPortabilidade::installFromBackup: This make take from 15 to 20 minutes to finish

20141121 17:32:31 - INFO: BilhetesPortabilidade::installFromBackup: Download finished sucessful

20141121 17:32:31 - INFO: BilhetesPortabilidade::installFromBackup: Descompressing the file bdo_install.sql.gz it may take a couple of minutes

20141121 17:34:53 - INFO: BilhetesPortabilidade::installFromBackup: File decompressed sucessful

20141121 17:34:53 - INFO: BilhetesPortabilidade::installFromBackup: Inflatig database with backup it may take 5 minutes

20141121 17:39:01 - INFO: BilhetesPortabilidade::installFromBackup: Database inflated successful

 

ATUALIZAÇÃO VIA SCRIPT DA BASE BDO

Após realizar a instalação do BDO é necessário realizar atualizações periódicas para manter a base de dados com os registros de portabilidades recentes.


Executando o Script para Atualização do BDO 

 

Abaixo segue o comando a ser utilizado para realizar a tarefa. Lembrando que é necessário solicitar a liberação do IP pelo N.O.C. da DirectCall e

também respeitar os horários disponíveis para realizar o procedimento.


 

# php BDO_UPDATE_BilhetesPortabilidade.php update

 

20141123 23:56:24 - DEBUG: BilhetesPortabilidade::__construct: Creating class BilhetesPortabilidade

20141123 23:56:24 - INFO: BilhetesPortabilidade::__construct: Creating MySQL connection

20141123 23:56:24 - DEBUG: BilhetesPortabilidade::connectMySQL:

20141123 23:56:24 - INFO: BilhetesPortabilidade::updateMGW: Updating Media Gateway Status first.

20141123 23:56:24 - INFO: BilhetesPortabilidade::checkMGWStatus: Last update was a JA UPDATE at 2014-11-21 10:01:56 using fileINCR-20141121100000.csv

20141123 23:56:25 - WARN: BilhetesPortabilidade::checkMGWStatus: There are update: INCR-20141123160000.csv

20141123 23:56:25 - WARN: BilhetesPortabilidade::checkMGWStatus: There are update: INCR-20141123200000.csv

20141123 23:56:25 - WARN: BilhetesPortabilidade::checkMGWStatus: There are 2 files to update.

20141123 23:57:33 - DEBUG: BilhetesPortabilidade::processWebFile: Processing file INCR-20141123160000.csv

20141123 23:57:34 - INFO: BilhetesPortabilidade::updateDatabase: Updating database control with last file INCR-20141123160000.csv

20141123 23:57:35 - DEBUG: BilhetesPortabilidade::processWebFile: Processing file INCR-20141123200000.csv

20141123 23:57:35 - INFO: BilhetesPortabilidade::updateDatabase: Updating database control with last file INCR-20141123200000.csv

20141123 23:57:36 - INFO: BilhetesPortabilidade::updateMGW: All files updated!

 

Sugerimos o agendamento desta atividade diariamente via crontab uma vez ao dia, conforme o exemplo abaixo (execução diária as 00:01):


# m h dom mon dow command 

01 0 * * * /usr/bin/php -f /root/BDO_UPDATE_BilhetesPortabilidade.php update 



 

 

Validade dos tokens: Os tokens de acesso têm uma validade limitada, por isso convém que o sistema criado tenha em conta estes timings para que possa desenvolver rotinas de requisação de novos tokens.

 

  • Sem rótulos