通信系统中的计费及营帐系统的设计与实现[公开] by [硕士] from .电
信学院.计算机技术
摘要:随着通信企业的逐步发展,行业竞争的不断加剧,用户数量的
不断增多,用户需求的不断扩展,原有的通信网络系统需要进一步扩
充及改进。建立数据库系统,使通信系统拥有一套稳定的计费、营帐
系统已经成为通信企业今后发展的关键因素之一。在通信网络系统的
计费及综合营帐系统的应用中,ORACLE 的产品和技术具有许多无
可争议的优势。可以极好地满足系统性能上的可靠性、安全性、先进
性、可管理性等方面的要求。本系统应用 ORACLE 数据库设计集中
式计费系统和综合营帐系统,将计费系统从原服务器上分离出来,重
新建立系统并采用新的服务形式。实现系统的连续、稳定运行,给系
统提供最大的高可靠性方案。营帐系统对原应用软件进行全面的改造,
变成统一的数据库。使原营业系统变成通信业务的统一营帐受理系统,
成为统一的数据仓库。系统实现了综合业务系统的统一功能,完成通
信业务在结构上的综合,支持多业务的捆绑服务。充分利用 ORACLE
的特性,联机事务处理、数据分区技术特性在此发挥出很大的作用,
保证了数据库查询、运行、处理、故障恢复的良好实现,建立一套安
全稳定的数据库,并保证系统软件新旧版本的平稳过渡,实时可靠的
进行系统更新,保证主机系统、网络系统在将来可以在不影响生产运
行的情况下进行扩容。
新疆电信 BOSS 项目融合计费系统实现方案
1 项目背景
第一章按照项目背景、国内外技术现状、论文工作和章节安
排 3 小节来组织
随着新疆电信行业市场竞争的不断深入,以及中国电信股份有限公司对各省
提出业务目标与要求的不断提高,新疆电信为了更好地完成各项业务目标和计划,
完成向以产品为主线、以市场为导向,以客户为中心、以效益为目标的现代化企
业转变,形成集团化运作,提出了 BOSS 项目融合计费系统。
2 需求分析
第 2 章需求分析按照功能需求、性能需求、安全需求和
开发平台和语言 4 小节来组织
新疆电信 BOSS 项目融合计费系统计费处理过程是一个使用者使用计费系
统的进行各项业务处理的过程,流程与功能设计的目标是使得这个过程稳定、准
确、及时、高效、灵活。根据 CTG-MBOSS 规范与新疆电信的业务需求,将融
合计费系统的流程分为七个部分,分别是:
1. 原始数据处理
包括原始数据收集、预处理、数据的交换与提交
2. 资料管理
包括产品配置管理与客户资料管理
3. 计费数据处理
包括批价处理、余额反算、出帐处理、帐单生成
4. 客服保障管理
包括收费管理、欠费管理、呆坏账管理
5. 系统保障
包括稽核管理
6. 其他处理
包括信息点布控、平台保障、业务调度、查询统计
7、 系统架构与安全管理
包括网络架构、主机与存储管理、数据库管理、安全区域划分与管理
3 总体设计
设计目标
在中国电信新的计费模型的指导下,设计一个多业务融合的、实时的、
集中的、灵活的、可扩展的、可管理的综合计费帐务系统。
具体目标如下
业务上
1). 实现融合业务的采集、批价、帐务以及客户服务保障等处理。对于在一定
时期内还存在的专业计费系统以及预付费管理平台,系统应能对其进行
整合处理。
2). 根据各业务平台的具体情况,通过各种模式实现预付费和后付费的融合处
理和管理
3). 通过产品、产品包、商品等模型的引入,为市场营销以及客户服务提供更
加灵活的营销策略以及客户服务策略的支撑,满足企业向用户提供更加
优质的服务以及提高市场竞争力的需要;能为新产品、新业务的快速部
署提供良好支撑。
4). 根据业务平台的具体情况,实现更加实时的业务处理流程以及客户服务响
应。
5). 能够支持多方计费和结算,将计费帐务服务延伸到合作伙伴,为目前和未
来电信所大力发展的增值业务提供良好的计费帐务支撑
6). 建立统一的信用控制机制以及防欺诈机制,减少欠费。
7). 建立统一的收入监管机制,通过多方组合稽核、校验手段,如各环节信息
点布控、基于流程的稽核等,保证计费的准确性,防止收入流失,从而
保障企业的收入;提供与财务管理的统一接口
8). 为企业经营分析提供实时、完整、准确的数据和信息。
9). 为将来 3G 业务的开展打下基础,为尽快建立中国电信上下一体化的、统
一的计费帐务管理系统,构建统一的业务支撑网打好基础。
技术上
1). 采用统一的数据模型,符合集团公司的统一数据模型规范,并支持企业制
定的统一共享数据模型机制,保证数据的完整性和一致性。
2). 完善的功能和流程支持:符合集团公司规范中对功能和流程的定义,并支
持特殊的功能和流程需求。对 BPR 和 MR 中的市场营销、产品管理、客
户服务等流程提供良好的计费帐务支撑。
3). 灵活可扩展的架构:遵循分层和复用设计理念,按照组件化、流程化、策
略化设计原则,实现应用与数据分离、应用与流程分离、应用与规则分
离,保证前后台端到端的业务及时加载能力,形成业务设计与系统开发
同步完成的操作模式。
4). 支持企业应用集成:基于统一的共享数据模型和企业应用集成平台实现业
务集成。
管理上
1). 全省/区统一业务处理和管理流程以及岗位设置,同时兼容各地市业务处
理和管理流程的特殊性,
2). IT 系统的运行维护管理是 IT 系统发挥作用的重要保障,是企业信息化的
重要工作内容之一,随着企业信息系统、信息数据的集中,建立完善省
集中模式下的系统运行维护管理、数据稽核、数据调度等的流程和规程。
设计方法
从总体框架上,采用自上而下的设计方法,先从系统的总体框架上确定系统的实现方
式,然后对系统进行逐级分析,进行功能设计、模块设计,并在电信模型的集成上对模型进
行推演和验证,并进行相应的完善和补充,进行模型的物理设计。
系统总体的框架结构如下:
总体流程设计
整个的系统都是在处理各种各样的数据,对每一种数据的处理都有一个相对固定的处
理流程。不同的数据所经过的处理流程是不一样的。
一个流程由多个环节构成,每一个环节点都对应一个模块。环节之间可能是顺序的先
后关系,也可以是并列关系,一个环节可以执行的条件是其前面的一个或多个环节已经完成,
而同时该环节完成后,可以是一个或多个新的环节,这样并列的多个环节点可以并行执行,
而先后的两个环节只能顺序执行。
一个环节可以是一个系统自动执行的任务,也可以是一个需要由人工稽核确认的稽核
任务。
系统中的主要流程有:
按文件方式控制的实时计费流程
按话单流方式控制的实时计费流程
日帐流程
月帐流程
产品配置、监控、报表
WebServer
JDBC连接池
JSP
Servlet
Action
EJB
EJB
EJB
数据库服务器
SI DSI D
Par aPar a
AcctAcct
Ti cketTi cket
St at sSt at s
Bi l lBi l l
业务处理服务
预处理 批价 入库 出帐 统计
前台WebServer
WTC
JSP
Servlet
Action
EJB
EJB
EJB
TUXEDO服务
收费
返销
结帐
查询
审批
接口
监控、调度
配置、监控、报表
参数维护
收费前台
……
文件计费流程
计费流程所处理的数据包括:联机采集的计费文件、脱机采集的计费文件、上级公司
下发的数据、其他系统提供的数据文件。该流程监控的主体是文件。
该流程的任务基本上都是实时运行的,流程的稽核在系统的每一个模块内部自动完成。
对稽核有异常的实时告警。
该流程的结构图如下:
实时话单流计费流程
该流程所对应的模块与文件方式基本相同,只是该流程监控的主体是实时采集的话单
流。
日帐流程
日帐流程运行的单位是每天运行一次,控制的主体对象是每天的日帐单。
日帐流程的环节较多,每一个环节都有一些自动稽核的模块,也可以在流程中安排需
要人工确认的稽核任务,这样增强对流程的稽核控制。在系统稳定的情况下,日帐流程是可
以自动运行的。
月帐流程
月出帐流程是一个月运行一次,处理过程中环节较多,在流程需要比较严格的稽核控
制,因此会插入较多的人工稽核环节。
总体功能架构设计
计费系统的总体流程图如下:
总体数据模型设计
系统的总体数据模型采用了集团的新的计费模型作为基础进行设计的。总体
的概要模块如下:
采集 计费处理
联机采集
脱机采集
实时采集
预处理
批价处理
计费入库
日帐累计
月帐累计
日租计算
日帐优惠
日增量数
据生成
日统计数
据生成
日数据稽核
出帐准备
月租计算
计费回退
误单回收
计费回溯 无户回收
补收抵减
月租抵减
优惠处理
其他费用
处理
信用评估
积分计算
帐务统计
费用加载资料更新
备份/恢复
月增量数
据生成
自动冲减 前台缴费 查询管理
前台统计
数据提供
数据交换
欠费管理
批量打单
托收处理
审核校验
营收月结
余额管理
账单管理
信控计算
催
缴
数
据
生
成
停
机
数
据
生
成
开
机
数
据
生
成
帐务处理
营收处理
信控处理
系统接口总体设计
与计费系统有关的接口设计如下:
组成
包装
支付
属于
包含
产生
生成
参考
产生
拥有
拥有
包含
关联
关联
引用
包含
包含
包含
包含
拥有
组成
包装
描述
描述
<<实例化>>购买
包含
包括
实现
包含
属于
包含
属于
包含
属于 <<定位于>>
<<支持>>
<<提供>>
唯一标识
具有
具有
评估
属于
签订
属于
唯一标识
使用
指定属性
具有
指定属性
产生
<<描述>>
<<描述>>
<<描述>>
具有
区分
下设
具有
<<销售于>>
<<适用于>>
对应
产品
主产品 子产品
计费帐务事件类型
产品包
商品
定价计划
产品包实例
商品实例
账户
帐单_发票要求
帐目
帐目类型
帐目组
帐务定制关系
帐单记录
帐单_发票格式
帐目来源标识
销账记录付款记录
发票记录
帐期
计划支付方案
余额帐本
支付方式
专款专用 余额类型
调帐帐目
当期利息余额积数
欠费处理类型
计费帐务事件源事件
产品使用记录
客户交互事件
内部业务事件
事件定价策略
计费累积值
源事件类型 源事件格式
计费帐务事件格式
计费事件
计费帐务事件属性
定价判断条件
定价段落
资费标准
优惠计算
一次性资费标准 周期性资费标准 使用性资费标准
优惠参数
优惠计算对象
优惠计算方法
优惠应用对象
外部产品 产品间关系
产品属性
客户协议
动作 服务提供
产品资源
计费模式
产品目录
市场细分
渠道
市场策略
客户 : 1
客户识别信息 客户基本资料 客户扩展资料
客户信用度
客户忠诚度
客户流失
防欺诈
客户群
产品实例 : 1
用户群
产品识别信息
积分
使用者
产品实例附加信息
附属产品实例附加信息附属产品实例
产品包实例附属信息
客户 : 2
实例对应关系
账户信用度信用度评估规则 : 1
信用度评估规则 : 2
参与人标识
参与人
组织
个人
参与人角色
合作伙伴
设备供应商 服务供应商 虚拟运营商
对等运营商
联系信息
权限 权限组
电信员工员工权限
员工权限组
客户 : 3
地址
地域
物理地址逻辑地址
行政区域
电信管理区域
电信营业区
电信支局
地域特征
本地网
省公司
电信营业厅
交换局向
资源片区
集团
产品实例 : 2
系统部署设计
系统部署主要是三方面的部署,在整个部署设计中,主要考虑的时候分布式
处理和系统的可扩展性。
根据新疆的具体情况,对其数据库和应用的物理部署图如下:
TS
SCP
网元
联
机
采
集
系
统
EAI总线
智
能
平
台
E
A
I
总
线
10000号客服
系统
企业经营
分析系统
API
互联网
银行系统
审核、对帐
A
D
A
P
T
E
R
集团公司
其它系统BSN网管
TCS
对外代收
统一数据接口
平台
ADAPTERADAPTER
计费帐务系统
其它系统
客户
资料
费用资料 数据交换
A
PI
综合结算系统
计费处理采集
帐务处理
营收处理 数据提供
CRM
客
户
资
料
定
价
信
息
产
品
资
料
催
缴
数
据
停
复
机
数
据
信
用
数
据
积
分
数
据
SLA
信息
系统集成方案
系统集成主要有三种方式:用户界面集成(嵌入式集成)、应用系统集成(实时数据交
换)和数据集成(批量数据交换)。
系统集成方式
用户界面集成(嵌入式集成)
通过 Web 技术或其他客户端调用技术,在不触及底层的应用和数据的情况下,为用户
提供完整、易用、灵活的使用者界面,并实现简单的参数传输。
应用系统集成(实时数据交换)
通过 EAI 和其他应用接口调用实现复杂的跨系统的业务逻辑和流程。
数据集成(批量数据交换)
通过数据库层面的同步和传输,实现数据共享。
系统融合方案
计费系统的建设,主要考虑现有分产品、多计费系统的融合,在当前向以客户为导向
的全业务运营商方向发展的情况下,这一点尤为重要,系统融合的目标如下:
实现预付费与后付费的融合
支持灵活帐期的融合计费
支持跨产品线的多种产品进行捆绑的融合计费
灵活支持各种优惠和折扣的融合计费
系统融合方案示意图
4 详细设计
原始数据处理---数据采集
数据交换采集处理流程说明
数据交换采集模块用来处理各种模式下的文件采集,包括如下以下几种采集模式:
EAI 消息处理采集模式
DB 记录控制采集模式
文件控制采集模式
自动采集模式
这个模块主要是实现各种模式下的采集,对于各种模块他们有各自的特点,
例如 EAI 消息处理采集模式他就是通过 IBM 中间消息键来实现的,先发消息
过来,然后采集系统就根据消息从服务器上面得到具体的文件;DB 记录控制
采集模式,这个就是根据数据库中的记录得到的所需要采集的文件信息;文件
控制模式就是采集某种文件然后根据这个文件的信息来得到所要采集的信息;
自动采集模式就是按照一定的规律来检查是否有文件,有文件就采集。
数据交换采集过程主要包括加载通用的采集参数信息,分不同的采集模式采集数据,
文件级校验,写日志处理几个流程。
1. 加载通用的采集参数信息,建立所有采集模式所共享的数据源。
数据交换采集过程是具体执行文件采集,与文件采集相关的参数说明文件
采集过程中要什么方式采集,采集过程中我们要做什么检测等等。
服务器参数
从服务器参数表里获取要连接的具体地址、用户名、密码、是否
实现断点续传、采集模式、可以连接的日期和时间等信息。
文件类型参数
得到每种文件服务器下不同文件的具体的命名 ;
得到具体文件的等级,就是说上一等级的数据没有采集下面等级
的数据就不能采集,同等级可以同时采集;
得到文件是否可以在中断后是否可以续传;
文件采集过来后要作什么处理标识
文件名命名参数
从文件名命名参数表里得到各种对应文件的命名方式;
同时知道文件名里的代码是不是特征码,假如为特征码,我们就
用“*”来表示其前和后面的代码;假如不是就用”?”来代表其各位
的代码;
得到不是特征码其每位的具体代码;
文件内容格式定义参数
得到文件头、尾、内容要包含的内容
得到文件头或者文件尾包含几行的信息;
文件服务器目录参数
得到文件服务器作为文件的源和目的地址的目录;
得到文件是否是压缩的、是否是有索引文件;
得到文件的校验方式;
得到序列号的生成方式;
得到错误回馈文件类型;
得到文件的级别是否有效;
序列号规格定义参数
得到每中文件目录下的序列号的具体生成方式;
消息内容定义表参数
得到某个服务器发给采集系统的消息格式信息
日志内容定义表参数
得到每个日志信息表有那些信息;
校验方式定义参数
得到每重校验方式在某种情况下所要做的校验包含那些校验;
2. 分不同的采集模式进行采集文件处理
自动控制模式
这种控制模式就是先得到相应的服务器和所要采集的文件名格式及
其参数,然后按照时间规律性来得到文件,和对文件所对应的一些
稽核要求来进行做校验。
文件控制模式
这种模式就是先得到具体文件控制形式,假如是根据总控文件或者
根据索引文件的方式,我们先得到总控文件的文件及其内容,然后
根据其内容来处理得到具体要采集的文件名,然后根据文件名得到
具体该文件是什么样的文件,最后来得到对这种文件怎么处理,例
如稽核校验,断掉了是否要续传。
DB 数据记录控制模式
对于这种记录是先从某张表里得到要下载的文件记录,然后根据记
录得到其对应的服务地址和文件类型,最后得到其具体的采集处理
方式和稽核方式。
EAI 消息控制模式
这种方式先通过消息得到要采集文件的一些信息,相当于索引文件
的内容,然后我们根据这个信息得到文件的类型,最后我们根据文
件类型和所处的目录得到具体采集的处理方式和文件稽核方式。
3. 日志处理
日志处理对于不同的应用系统他有不同的日志需要写,例如现在我们的一
点收费系统,有些文件采集过来的是要先代码转换处理,有些是原始文件,就
不用做代码转换这两种就要写不同的日志表。
模块类图
采集公共基类(CFtpBase)的设计
/*
* 采集公共基类
*/
class CFtpBase:public CThread
{
private:
/*
* 当前采集的服务器信息、文件信息
*/
CFtpSystemInfo m_CurrentFtpSystemInfo;
CIpDirectroyName m_CurrentIpDirectoryName;
CFileType m_CurrentFileType;
public:
/*
* 连接服务器
*/
BOOL ConnnectCurrentFtp();
/*
* 校验文件
CFtpMain
*m_pDatabase : CDataBase
m_dBatchId : double
*m_pFtpSystemInfo : CFtpSystemInfo
*m_pFileType : CFileType
m_FtpConnect : vector<CFtpUnixClient>
m_FtpBase : vector<CFtpBase>
GetDownParam()
GetBatchId()
StartFtpFile()
CFtpBase
m_CurrentFtpsystemInfo : CFtpSystemInfo
m_CurrentIpDirectoryName : CIpDirectoryName
m_CurrentFileType : CFileType
SortOne()
Sort()
GetFileId()
ConnetCurrentFtp()
AuditFile()
StartGetFile()
GetCurrentFileType()
WriteLog()
MoveFile()
UnZipFile()
GetFileSize()
RemoveAFile()
ModifyFileName()
CheckTimeValid()
CreateResultFile()
CreateMd5Data()
CFtpByFile
m_FlagOfFile : int
GetAmountFileName()
GetIxFileName()
CFtpByDB
*m_pLogCollectTmp : CLogCollectTmp
m_nLogCollect : int
GetLogCollectTmp()
CFtpByEAI
m_pMQRecver : MQHandler
m_CtrlInfo : CCtrlInfo
m_InfoByCtrl : CInfoByCtrl
*m_pSwitchMap : CSwitchMap
m_pCollectCodeMap : CCollectCodeMap
InitSwitchMap()
InitMap()
init()
GetinfoByCtrl()
PutIntoDB()
GetFileInfoMap()
GetRegionId()
*/
BOOL AuditFile(char *szLocalDataFile, CFileDown &sFileDown, char *szAuditDetail);
/*
* 移动本地文件
*/
BOOL MoveLocalFile(const char *szDestFile,const char *szSourceFile);
/*
* 解压本地文件
*/
BOOL UnZipLocalFile(const char *szLocalFilePath);
/*
*
*/
BOOL GetLocalDirLs( const char *szListFilePath,const char *szLocalDir);
/*
* 拷贝本地文件
*/
BOOL CopyLocalFile(const char *szDestFile, const char *szSourceFile);
/*
* 删除文件
*/
BOOL RemoveAFile(char *szFileName);
/*
* 得到文件的字节数
*/
BOOL GetFileSize(char *pFileName,double &nFileSize);
/*
* 更改FTP上面的文件名
*/
BOOL ModifyFtpFile(const char* szFtpDir, const char* szFileName, int
nModifyFlag);
/*
* 更改本机上面的文件名
*/
BOOL ModifyLocalFile(const char* szLocalDir, const char* szFileName, int
nModifyFlag);
/*
* 开始采集一个文件
*/
BOOL GetOneFile(CFileDown &fileDown);
/*
* 得到满足条件的文件列表
*/
BOOL GetFileList();
/*
* 根据文件序列号排序
*/
void SortOne(CFileDown* pFileDown, int begin, int end);
void Sort(CFileDown* pFileDown, int nFileCount);
/*
* 创建采集结果文件
*/
BOOL CreateResultFile();
/*
* 写各种日志表
*/
BOOL WriteAllLog(int nLogId);
protected:
/*
* 检验时间是否有效
*/
BOOL CheckTimeValid(char *szTime);
/*
* 检验文件名是否有效
*/
BOOL CheckFileName(CFileDown fileDown);
/*
* 检验文件尾格式是否有效
*/
BOOL CheckFileEnd(const char *szFilePath, CFileDown &fileDown, char
*szRet);
/*
* 检验文件头格式是否有效
*/
BOOL CheckFileHead(const char *szFilePath, CFileDown &fileDown, char
*szRet);
/*
* 生成MD5信息
*/
BOOL CreateMD5Info();
};
资料管理
资料管理包括产品的管理与用户资料的管理。产品管理是指对电信产品、产品包以及商
品的定义与维护。用户资料管理包括客户个人信息管理,客户支付信息管理,与费用相关的
客户的积分与信用度的管理
计费数据处理
计费数据处理包括批价处理、入库、帐务、营收管理四大部分。
批价处理
批价进程内主要有两种线程,一个是控制线程,用来整体上控制批价的过程,一个是
业务线程,用来对具体业务的事件进行批价处理。相应地,在设计时,使用两个类来完成这
两个功能,一个为批价控制类,用来做批价整体上地控制,包括对事务的控制,输入输出的
控制,接收到的输入话单进行业务线程分派处理,监控服务命令的处理;一个为事件批价类,
用来对单个事件进行批价处理。
月租事件的处理与话单事件的处理基本上一样,计费为一个单独的进程,月租与帐务
优惠为一个进程。月租事件的属性包括如下属性:业务类型,号码,事件类型,时间,时长
(天/月)
批价完毕后,输出事件中包含一个事件分类字段 LS_FLD_EVENT_CATALOG,如果
为月租类型和帐务类型,输出模块中将输出事件送给月租和帐务优惠用的消息队列,如果为
计费类型,输出模块将输出事件送给入库程序用的消息队列中。
模块类图
模块类设计
/*
* 批价控制类,由控制线程使用
CRatingCtrl
nServiceThread : int
m_pDataInput : CDataInput*
m_pDataOutput : CDataOutput*
m_pAudit : CAudit*
m_pInputEvents : ArrayList<FArray*>*
m_vBufferMutex : ArrayList<pthread_mutex_t>
m_vBufferCond : ArrayList<pthread_cond_t>
CRatingCtrl()
Run()
StartTransaction()
CommitTransaction()
RollbackTransaction()
ProcessEvent()
RollbackRating()
UpdateParams()
ExitProcess()
GetAudit()
GetDataOutput()
CRatingEvent
m_nCurrentPricingStrategyIndex : int
m_nCurrentRumPricingStrategyIndex : int
m_lProductInstanceId : DomainLargeId
m_vObjectIntanceLayer : vector<TObjectInstanceLayer>
m_vPricingStrategy : vector<TPricingStrategy>
m_pServFarray : FArray *
m_pCustFarray : FArray *
m_vCustPricingPlan : vector<TCustPricingPlanRecord>
m_pInputEvent : FArray *
m_outputEvent : FArray
m_pricingStrategyCtrl : CPricingStrategyCtrl
m_pRatingCtrl : CRatingCtrl*
CRatingEvent()
Rating()
GetCustPricingObject()
GetCustPricngParam()
GetInputEvent()
GetOutputEvent()
GetServ()
GetCust()
(from CRatingCtrl)
0..1 1
-m_pRatingCtrl
0..1 1
*/
class CRatingCtrl
{
/*
* 输入对象指针
*/
CDataInput *m_pDataInput;
/*
* 输出对象指针
*/
CDataOutput *m_pDataOutput;
/*
* 业务线程个数
*/
int nServiceThread;
/*
* 输入模块传入的FArray*是已经分配好的空间
* 批价控制模块将此事件的地址放入对应处理线程的(数组)缓冲区中
* 当事件批价完后,需要由批价业务线程将此事件的空间删除
* m_pInputEvents在对象初始化的时候根据业务线程的个数
* 分配空间;对象析构时,删除分配的空间
*/
ArrayList<FArray*> *m_pInputEvents;
/*
* 每个线程缓冲区访问互斥信号灯
*/
ArrayList<pthread_mutex_t> m_vBufferMutex;
/*
* 每个线程缓冲区访问条件变量
*/
ArrayList<pthread_cond_t> m_vBufferCond;
public:
/*
* 构造函数
*/
CRatingCtrl();
/*
* 批价控制模块的主控函数
*/
void Run();
/*
* 开始一个事务
*/
bool StartTransaction();
/*
* 提交一个事务
*/
bool CommitTransaction();
/*
* 回滚一个事务
*/
bool RollbackTransaction();
/*
* 处理事件,将输入事件放入输入事件缓冲区中
*/
bool ProcessEvent(FArray* pInputEvent);
/*
* 批价回退
*/
bool RollbackRating();
/*
* 更新计费参数
*/
bool UpdateParams();
/*
* 退出批价进程
*/
void ExitProcess(UINT uExitCode = 0);
};
/*
* 【类功能的详细描述】
*/
class 【ClassName】
{
/* 公共函数定义 */
public:
/*
* 功能描述: 【函数功能的详细描述】
* @param 【参数名称 1】【参数类别:入参/出参/出入参】【参数功能描述】
* @param 【参数名称 2】【参数类别:入参/出参/出入参】【参数功能描述】
* @return 【返回值说明】
*/
ReturnType FunctionName(ParamType1 ParamName1, ParamType2 ParamName2,…);
/* 私有函数定义 */
private:
/*
* 功能描述: 【函数功能的详细描述】
* @param 【参数名称】【参数类别:入参/出参/入出参】【参数功能描述】
* @return 【返回值说明】
*/
ReturnType FunctionName(ParamType1 ParamName1, ParamType2 ParamName2,…);
/* 成员变量定义 */
private:
/*
* 【变量功能描述以及可能的取值说明】
*/
VariableType VariableName;
};
批价入库
正常清单表:UR_ 存放用户的正常清单,按月份分表;无户清单表:
Anony_,因为无户数据比较小,同时无户数据需要一次保持可回收,
故不按月份分表;误单表:Error_,存放用户的误单数据,因为误单
数据比较大,同时隔月后误单一般不再进行回收处理,故按月份进
行分表。
入库模块功能:
1 将预处理模块和批价模块生成的结果数据插入到数据库相应的表中。
2 入库数据回退,根据回退设定的条件将已经入库的数据从数据中清除掉。
3 入库数据重做,根据重做设定的条件将已经入库的数据插入到定义的回
退。
模块涉及的表说明
表名 功能描述
IOID_SEQUENCE_T IOID序列定义表
FORMAT_OUT_T 输出格式定义表
FORMAT_OUT_DETAIL_T 文件格式输出定义明细表
BILLING_CHECK_DETAIL_T 计费稽核信息表
BILLING_CHECK_POINT_T
INTERVENE_EVENT_T
FORMAT_OUT_CONDITION_
T
输出格式条件定义表
FORMAT_RATING_T 格式配置表
USAGETYPE_T 使用记录类型表
card_flag_t
TREE_STRUCT_ITEM_T
FORMAT_OUT_ITEM_T 输出格式子清单费用序号定义表
入库程序首先创建一个入库总控线程,入库总控线程实现程序的所有流程。
入库总控线程流程:
1. 打开相应的消息队列;
2. 创建一个取队列缓冲线程,取队列缓冲线程从已经打开的消息队列中读取消
息,放到模块的内部队列中;
3. 读取参数,创建总控线程的数据库事务连接;
4. 创建入库对象,入库公共参数初始化;
5. 创建一批入库处理子线程;
6. 接收调度程序发送的指令,根据指令执行相应的操作;
7. 读取内部队列中的消息:
如果是入库操作的消息:话单消息转发给入库子线程处理;开始事务消息通知入库子
线程事务开始;事务提交消息通知入库子线程对事务进行提交,事务回滚消息通知入库子线
程对事务进行回滚。
如果是回退操作的消息:创建回退事务;通知入库子线程开始事务;取回退数据,形
成回退清单,送到内部队列;事务提交。
入库子线程读取内部队列中的消息,根据消息中的内部控制命令执行相应的操作
模块类设计
类名称 功能描述 与其他类的关系
CImpBase 基类
CIOID 取下一个IOID
CFormatDef 从数据库中取出记录格式的定
义,根据FormatId查找对应的入库
格式
CIBASConf 读配置文件,设置参数
CImpact 公共参数的初始化,更新,
Cimpact内部参数的初始化,更新;
提供入库数据的事务开始,事务提
交,事务回滚,入库处理方法;提
供回退事务开始,回退事务提交,
回退事务回滚,,回退数据生成,
回退处理函数,事件状态更新方法。
从CimpBase继承
CImpAudit 提供i对入库数据进行稽核的
方法
CImpBufItem 入库缓冲区类,提供两个
CimpBufItem对象的比较方法
CImpBuffer 提供从入库缓冲区中取出相应
的格式配置的方法
从CimpBase继承
CImpCardFlag 建立一棵卡类标识的
CAVLTree,提供取卡类标识方法
CImpConnDB 停供数据库连接操作
CImpObj 常规入库对象类。提供属性设
置,消息格式检查,主清单入库,
子清单入库,累帐,筛选累帐字段
的方法
从CimpBase继承
CImpObjMeter 表底入库对象类。重载了表底
对象的属性设置,主清单入库1,子
清单入库,累帐的方法
从CImpObj继承
CImpObjCumul 累计资源入库对象类
CImpObjRB 回退对象类。重载了累帐方法 从CImpObj继承
CImpPara 入库参数类,提供了入库参数
初始化的一些方法和根据format_id
取得批价输出格式的方法
CImpTreeBatch 批次树对象。提供把累帐对象
累到批次树和巴批次树入累帐天表
的方法
从CimpBase继承
CImpTreeCumul 累计资源树对象.重载累积资
源累到累计资源树和累计资源树入
库的方法
从CimpBase继承
CImpTreeMeter 基础表底树对象。重载方法实
现把一条表底记录累到表底树上和
表底树入库
从CimpBase继承
CImpQueue 内部消息队列类 从CimpBase继承
文件格式输出格式定义结构
*/
typedef struct _TFormatDetail
{
}TFormatDetail;
输出格式定义结构
typedef struct _TFormatOut
{
}TFormatOut;
/*
子线程信息
*/
class CSubInfo
{
public:
CSubInfo();
~CSubInfo();
void Init(pthread_t ptid);
void Reset();
BOOL Check();
void Error();
void Exit();
pthread_t m_ptid;
CImpQueue m_ImpQueue;
long m_lLoad; //负载统计
private:
int m_nStatus;
pthread_mutex_t mutex;
};
/*
子线程管理器
*/
lass CSubDealer
{
public:
CSubDealer();
~CSubDealer();
//注册子线程
void Regist(CSubInfo* pSubInfo);
//注册统计线程
void RegistStats(CSubInfo* pSubInfo);
//消息分发
inline BOOL Deal(CImpMSG* pImpMSG);
//关闭子线程
void SubClose();
//检测子线程
BOOL SubCheck();
BOOL SubCheck(int seq);
BOOL StatsCheck();
//给子线程下控制命令
void SubNotify(int CMD);
//清空子线程队列
void SubClear();
//恢复子线程状态
void SubReset();
//负载报告
void Report();
private:
int m_nSubCnt; //子线程数量
CSubInfo* m_ppSubInfo[10]; //子线程信息
CSubInfo* m_pSubStats; //统计子线程信息
};
/*
子清单结构
*/
typedef struct
{
}TSubList;
/*
子时段范围段
*/
class CSubTodRange
{
public:
CDayRange *pParentDayRange;
DomainId nStartOffset;
DomainId nEndOffset;
DomainPriority nCalcPriority;
};
帐务统计
“源数据获取”是指从统计数据源表将原始数据取到内存中。在一些情形下,获取数据只
是从一个数据库中进行简单的查询操作即可。但在一次统计操作中,很可能需要进行两个或
更多表的关联,例如,从帐单表和资料表这两个表中分别取出一些字段,构成完成的统计数
据源。如果帐单表和资料表在同一个数据库中,则可直接用 SQL 语句进行两个表的关联,
甚至更多表之间的、条件更复杂的关联。
如果两个表不在同一个库中,则需要将两个表的数据分别取到内存中再进行关联。本模
块对这种跨越数据库进行关联的情形作以下限制性约定(同一个数据库内的不同用户没有限
制)
1. 最多支持两个表的跨库关联。
2. 关联时的条件仅支持“等于”,即类似于以下操作:
SELECT * FROM BILL_RENT_DETAIL_ITEM_T A, SERV_T B
WHERE _ID=_ID
3. 支持多个字段的“与”运算,即类似于:
SELECT * FROM BILL_RENT_DETAIL_ITEM_T A, SERV_T B
WHERE _ID=_ID AND
_SEQ_ID=_SEQ_ID
4. 进行关联的表允许定义各自独立的数据过滤条件,即类似于:
SELECT * FROM BILL_RENT_DETAIL_ITEM_T A, SERV_T B
WHERE _ID=_ID AND
_SEQ_ID=_SEQ_ID
AND (>0 OR _MONTH > 0)
AND _ACCT_MONTH<=’200501’
AND _ACCT_MONTH >= ‘200501’
数据获取的具体流程:
1. 根据参数表中定义的规则构造 SQL 语句。
在参数表中提供了以下信息:
数据源一。是一个 SQL 字符串,其中可以定义形式参数,在程序执行时
被替换为实参。例如:
SELECT
SERV_ID,SERV_SEQ_ID,CHARGE,CHARGE_MONTH,
BASE_FLAG, ' @ACCT_MONTH@' acct_month, ‘@ACC_DATE@'
acct_date
FROM BILL_RENT_DETAIL_ITEM_T
WHERE BASE_FLAG>0 AND REGION_ID=@REGION_ID@
这个 SQL 语句也可以是两个或更多表的关联,但这些进行关联的表
都必须位于同一个数据库内(可以属于不同的用户)。SQL 语句中的
@ACCT_MONTH@、@ACC_DATE@、@REGION_ID@是形式参数,在
统计程序执行时,会被替换成帐务月、帐务日、区域的实际值。
这里定义的 SQL 语句不能有 ORDER BY 子句。
数据源一所属数据库 ID。该数据库 ID 指明该数据源是位于哪个数据库,
该 ID 在 DATABASE_INFO_T 中进行定义。
数据源二、数据源二所属数据库 ID。(可选)
数据源一、二的关联字段。定义了数据源一、二的记录是通过哪些字段关
联的。可以定义多个字段,构成“与”的关系。一般来说,对数据源一、二
需要定义若干个字段的关联关系,如果没有定义任何关联关系,关联操作
将得到两个数据源的笛卡尔集,对于较大规模的数据源,其笛卡尔集将是
非常庞大的,因此统计程序作以下限制:如果两个数据源要进行关联,就
必须至少定义一组关联字段,否则认为是参数设置错误。
根据参数表中的以上信息构造真实的(将被发送到数据库执行的)SQL 语句:
对数据源一(或二)执行以下操作:
1) 用实际取值替换 SQL 语句中的形式参数
2) 根据属于数据源一的关联字段,构造 ORDER BY 子句。
例如:数据源一和二通过 SERV_ID 和 SERV_SEQ_ID 两个字段进行
关联,则参数表中有两条记录,分别是 SERV_ID 和 SERV_SEQ_ID,则
从数据库中查询数据源一时所用的 SQL 语句为:
SELECT …. FROM …
ORDER BY SERV_ID,SERV_SEQ_ID
2. 查询数据库,将结果集取到内存。
如果定义了两个数据源,则需要打开两个数据库连接,分别从不同的数据库中
获取数据。
3. 在内存中进行两个结果集的关联。
由于在前面的步骤中构造 SQL 语句时,分别按关联字段对数据源一、二
的结果集进行了排序,在内存中可以简单地进行条件判断,对结果集进行关联
和过滤,得到最终所需的统计数据源。如果不预先对结果集进行排序,就只有
将所有的数据取到内存中才能完成关联,所需的内存占用可能是不可接受的。
mailto:REGION_ID=@REGION_ID@
mailto:SQL%E8%AF%AD%E5%8F%A5%E4%B8%AD%E7%9A%84@ACCT_MONTH@
mailto:SQL%E8%AF%AD%E5%8F%A5%E4%B8%AD%E7%9A%84@ACCT_MONTH@
mailto:SQL%E8%AF%AD%E5%8F%A5%E4%B8%AD%E7%9A%84@ACCT_MONTH@
分组统计流程
根据前一阶段所取到的数据源(在内存中完成了关联的),按参数中设定的分组字段进
行统计。在参数中提供了以下信息:
统计结果表名和数据库 ID。定义了统计结果存放的表和该表所在的数据库。
统计维度。描述了需要按结果集的哪些字段进行分组。
统计计算量。描述了需要对结果集的哪些字段进行累计,如累加、求最值、求均值
等。
在前一阶段的获取数据源的操作中得到了关联后的结果集,对该结果集中的每条记录进
行统计,并将统计的中间结果保存在内存中的 AVL 树中,树的每个结点构成一条统计的
结果记录。在对所有数据源进行一遍累计后,将统计树中的所有结点保存到数据库中。
设计思想说明
【详细说明该模块的主要设计思想,使其他人可以清晰地理解你的设计意图】
本模块的主要功能和设计考虑
在很多情况下,对数据的统计分析是由基本的排序、累加等操作来完成的,如果
该操作是在关系数据库中进行,一般是由一系列 GROUP BY 语句来执行,但此类
操作经常会耗用过多的数据库资源,在分布式数据库环境下的执行效率和程序的
复杂度可能更难接受。例如,一个典型的统计操作:统计 SERV_T 中各种不同的
SERVICE_TYPE 各有多少条记录。可以在数据库中执行以下操作:
select service_type,count(*) from serv_t group by service_type。
数据库要完成以上操作,需要从 serv_t 中取出每条记录的 service_type 字段,
对结果集有可能要进行排序、计数等操作,具体步骤取决于数据库的内部实现,无
论如何,所有的操作都是在数据库内部完成的。
如果用一个外部的程序从数据库中取出需要统计的字段:
select service_type from serv_t。
对取到的结果集进行分组统计,得到每种 service_type 的数量,则将整个统计
操作的负载分配到了数据库主机和外部程序所在的主机,这样可能有助于更快地完
成统计操作,避免数据库主机成为整个系统的性能瓶颈。
统计的结果一般需要存放在专门的统计结果表中,该结果表和统计的数据源可能
位于不同的数据库中。如果用存储过程或简单的 SQL 语句,就需要通过数据库提
供的远程操作机制(如数据库链)来实现异地存取,但这种远程操作机制的性能
往往达不到要求,或有其它一些缺点。通过外部的程序,可以从一个数据库中取
出结果集,在内存中完成统计计算,再将统计结果存入另一个数据库中。
对于一些较为复杂的统计,可能需要在一些阶段性的统计结果上进行综合分析。
可以设定多个统计任务,并依次执行,较早执行的任务为较晚执行的任务准备数
据。
客服保障管理
客服保障是出帐及帐单加载后开始面向前端客户提供各项服务的管理过程,客服保障主
要包括余额管理、收费管理、欠费管理及呆坏帐等方面的工作
余额管理
新增、变更余额流程说明
1. 根据拥有者类型、ID、余额类型,在余额账本表 Acct_Balance_t 中找到对应
的余额账本记录,因为有效期的不同可能有多条。
2. 根据余额类型,取得是否允许提供发票标志、是否调帐、计算利息、提取等
标志。
3. 根据入参操作类型,判断具体操作,如果生效时间和失效时间有作用需要新
增一条记录,如果:
新增加记录:插入 Acct_Balance_t 一条记录,同时判断使用类型,如果是客户
用存款、用户用存款、各种专款,需要插入 Acct_Use_Rule_t 表使用规则
帐户用存款:不用插入使用规则
客户存款:Acct_Balance_t 中的拥有者是客户 cust_id,客户下的每一个在
使用规则中插入一条记录,acct_Balance_id 相同,这些帐户一起使用这笔
余额,先后顺序在没有指明时相同。
用户存款:Acct_Balance_t 中的拥有者是用户 serv_id,同时在使用规则中
插入一条记录,记录该用户的 Acct_id,Serv_id。
产品存款:Acct_Balance_t 中的拥有者是帐户 Acct_id,同时在使用规则
中插入一条记录,记录帐户的 Acct_id 和产品标识 product_id。(这种情况
可能不会使用)
费用存款:帐户费用专款,Acct_Balance_t 中的拥有者是帐户 Acct_id,
同时在使用规则中插入每一条专款记录(费用项组项),记录帐户的
Acct_id 和 serv_id=0、product_id=0。
用户费用专款:帐户费用专款,Acct_Balance_t 中的拥有者是用户
Serv_id,同时在使用规则中插入每一条专款记录(费用项组项),记录改
用户的帐户的 Acct_id 和用户的 serv_id,product_id=0。
产品专款:帐户费用专款,Acct_Balance_t 中的拥有者是帐户 Acct_id,
同时在使用规则中插入每一条专款记录(费用项组项),记录帐户的
Acct_id 和用户的 serv_id=0,记录 product_id。
不能用于冲减:不用插入使用规则。Acct_Balance_t 中的拥有者是帐户
Acct_id。
变更记录:根据 Acct_Balance_Id,变更 Acct_Balance_t 相应记录的金额、未
打单金额根据发票标识处理、时间。
交纳存款:判断是否可以提供发票
提取存款/审批:判断是否可以提取
转出余额:判断是否可以转帐
转入余额:
调帐:判断是否可以调帐?
4. 记录 Acct_Balance_Log_t 表。
(记录 payment,acct_get 余额变更 记录返销控制表 提供发票或收据)
余额查询流程说明
1. 根据入参判断,查询使用者可用余额,还是拥有者拥有余额
2. 查询使用者可用余额:
在使用记录中,根据 acct_id 查找到可以被该帐/用户/费用项数组使
用的 acct_Balance_ID,没有在使用期限内的记录剔除掉。(还有限额
参考费用取的使用类型,此处可以不取限额)
根据使用者 ID,在 Acct_Balance_t 中找到拥有的余额记录,没有在
使用期限内的记录剔除掉,周期使用最高限额小于余额的记录取最
高限额。
根据在使用规则中找到的 acct_Balance_ID,在 Acct_Balance_t 中查
找对应的余额,没有在使用期限内的记录剔除掉,Acct_Balance_t 中
记录的周期使用最高限额、余额和使用规则中定义的周期使用最高
限额三者中取最小值
加总取得的所有记录的可用余额,得到使用者可用余额
3. 查询拥有者拥有余额:
根据拥有者 ID,在 Acct_Balance_t 中找到相应余额,没有在使用期
限内的记录剔除掉,周期使用最高限额小于余额的记录取最高限额。
加总取得的所有记录的余额,得到拥有者拥有余额
单个帐户冲减流程说明
1. 按帐户冲减,将可用的余额记录加载到内存(需要包含可被专款冲减的产品、
用户、费用项):
1). 先在使用规则表中按 acct_id 查找可以使用的 AcctBalanceID,此时按
AcctBalanceID 将 余 额 的 使 用 规 则 加 载 到 结 构 数 组 。 再 根 据
AcctBalanceID 在余额账本表中查找余额;
2). 根据 acct_id 在余额账本表中查找可用的余额,使用类型是帐户。
2. 如果按用户冲减(使用的情况:单机交费时单个用户冲减),需要包含所属
帐户或产品可以使用的余额,以及所属帐户或产品下的费用项可用的余
额):
在使用规则表中,根据用户的 acct_id 查找可以使用的 AcctBalanceID,
再根据 AcctBalanceID 在余额账本表中查找余额。剔除其他用户和产
品专用的记录,将需要的使用规则加载到结构数组。
根据 acct_id 在余额账本表中查找可用的余额,使用类型是帐户。
3. 同时按 AcctBalanceID 将余额的使用规则加载到结构数组
//存款结构类型
typedef struct
{
} TAcctBalance;
4. 根据存款类型的使用优先级、失效时间,先使用哪条余额的记录冲减。
5. 已经按 AcctBalanceID 将余额的使用规则加载到结构数组。
typedef struct
{
double m_ dAcctBalanceID;
double m_dAcctID; //使用者的 AcctID
double m_dProductID; //被产品使用时的 ProductID
…
} TUseRule;
6. 加载欠费到内存:按费用项排序,同费用项时负费用在前。排序顺序:
acct_id,serv_id,billing_cycle_id,acct_item_type_id,charge
//欠费结构类型
typedef struct
{
double m_dAcctItemID[MAX_ITEM_NUM];
double m_dServID[MAX_ITEM_NUM];
char m_szServiceType[MAX_ITEM_NUM][31];
char m_szAccNbr[MAX_ITEM_NUM][17];
…
} TAcctItemList;
7. 加载余额使用规则和余额流程:
8. 循环设置 _rule 和 ,如果
有使用规则,存放使用规则的地址和个数,后面可以直接使用。
冲减流程:
余额账本数组长度 n,已排序。
欠费数组长度 m
//存款数组循环
for(i = 0; i < m_nAcctBalanceNum && m_nAcctItemNum > 0; i++)
{
if(array_acct_Balance[i].useRuleCnt > 0)
{
for(j=0;j< array_acct_Balance[i].useRuleCnt && array_acct_Balance[i].balance>0;
j++)//使用规则数组
{
switch (array_acct_Balance[i].UseRule[j].use_type) //按不同使用类型,冲减欠
费数组
{
case 帐户:
for(j=0; j <m; j++) //循环处理剩余没有冲减的欠费
{
使用不同拥有者的余额,循环冲减欠费;
acct_get_t 中按使用者记录费用销帐情况,按拥有者记录余
额变更情况。
}
case 用户:
循环欠费数组,冲减 servID 相同的费用;
case 费用项:
循环欠费数组,冲减 Acct_item_type_id 相同的费用;
}
}//使用规则循环结束
}else{
for(j = nItemBegin; j < m_nAcctItemNum; j++)//循环欠费冲减
{
循环冲减欠费;
达不到帐期扣减最低额的,在这里处理还是月底处理?
}
}
批量冲减处理流程说明
入参:[区域(营业区)] [工号] [营业厅] [数据库连接串]
1、 连接数据库,根据连接串取得当前数据库用户名称
2、 取得自动冲减的操作类型、状态,取得当前营收周期
3、 取得营业员的记帐周期
4、 取得操作流水
5、 调用余额类初始化自动冲减方法 initAutoParameter,初始化一些参数
6、 从根据区域从余额表(ACCT_BALANCE_%%_T)中取出可用余额,循环处理
根据需要从使用规则表中取数据(专款等需要)
每一笔余额,帐户相同时,取下一条余额,帐户变化时,走以下流
程:
调用余额类的 init 方法,初始化一些参数
调用余额类的 setSrcItem 方法,从欠费表加载欠费到内存
调用余额类的 deductOperation 方法,在内存中冲减欠费
冲减完毕,调用余额类的 deductUpdateAcctBalance 方法,更新
余额账本
调用余额类的 deductUpdateSrc 方法,更新欠费表,写已收表
调用余额类的 deductUpdateReceipt 方法,写未打单数据
调用 insCreditChange 方法,写信用控制表
调用 insCancelCtrl 方法,写操作控制表
该帐户冲减完成,提交
重新取操作流水
7、 根据区域,从其他区域的使用规则表中取出本区域可用余额使用规则,循环处理
当 balance_id 或帐户不同时走以下流程,否则取下一条
根据 balance_id 和 acct_id 从余额表中取余额
调用余额类的 init 方法,初始化一些参数
调用余额类的 setSrcItem 方法,从欠费表加载欠费到内存
调用余额类的 deductOperation 方法,在内存中冲减欠费
冲减完毕,调用余额类的 deductUpdateAcctBalance 方法,更新
余额账本
调用余额类的 deductUpdateSrc 方法,更新欠费表,写已收表
调用余额类的 deductUpdateReceipt 方法,写未打单数据
写余额变更的单据数据
调用 insCreditChange 方法,写信用控制表
调用 insCancelCtrl 方法,按欠费帐户写操作控制表
调用 insCancelCtrl 方法,按余额帐户写操作控制表。
设计思想说明
1. 接口尽量保持与之前相同。
2. 余额是与用户/帐户等并列的一个系统对象。
3. 余额的拥有者和使用者属性,一个拥有者,多个使用者。余额帐本可以使用
于一个或多个帐户,可以使用于一个或多个产品实例。可以使用于一个或多
个帐户/产品实例的部分帐目类型。
4. 支持预付费功能。
5. 使用规则表不能太大,每月清理没用的记录
6. 每月有一个任务,处理费用没有达到周期消费最低限额的余额记录。
7. 单 笔 余 额 变 更 按 流 水 的 平 衡 关 系 : acct_Balance_log_t 中 余 额 变 更 值
=acct_get_t 中的余额变更。
8. 按区域统计的余额的平衡关系:
期末余额 = 期初余额
+ 增加的余额(交纳余额+转入余额+冲减冲正余额+其他增加余额)
- 冲减余额(本区域帐户使用的冲减余额[Acct_get_t]+被其他区域使用的冲减
余额[Acct_get_t])
- 减少余额(提取的余额+转出的余额+其他减少的余额)
9. 查询一个帐户的每一笔余额变更记录,从 acct_Balance_log_t 中取。
查询一个帐户的每一笔操作记录,从 Oper_control_t 中也有记录。包含了 acct_Balance_log_t
中记录,但不够详细,比如余额被哪个帐户使用。
稽核保障管理
稽核管理是指贯穿整个计费系统处理过程的校稽核验,以保证数据在处理过程中的一
致性和正确性。稽核管理功能包括数据收集稽核、数据处理稽核、数据提供稽核以及客服保
障的稽核。
计费帐务系统作为 BSN 网管系统的一个应用管理对象,需要执行 BSN 网
的业务监管和审核校验策略,同时为更好的保证计费的及时性,准确性,完
整性,BSN 网管系统通过审计并收集系统内部各处理环节和与外部交互的各
处理环节的稽核信息点,以及系统各关键流程,子流程之间的数据一致性,
平衡性审核结果,完成对业务系统的全面监控与管理。
信息点布控设计就是基于以上的考虑,在不同的系统中布控信息点关键点,
并从这些数据源采集统一监控和管理需要的信息并展示和发布。信息点布控对
象包括主机平台,网络平台,数据库系统,应用中间件系统,应用系统、数据
处理过程等
系统处理流程设计
信息点布控的整体流程分为信息点布控、信息采集、信息处理、信息展现部
分,如下图所示:
数据逻辑模型(LDM)
采集接口协议
数据库
应用系统
IDC
主机
SNMP XML 消息队列
性能数据处理 告警信息处理 配置信息处理
性能数据采集 告警信息采集 配置信息采集
拓扑图
文件方式
中间件
报表展示 监控界面统计数据
管理数据
处理数据
KPI指标
原始数据
知识库
信 信 信 信
信 信 信 信
信 信 信 信
信 信 信
总体模块划分
模块名称 模块
编号
功能描述
信息点布控 描述信息点布控的内容
信息采集 从各种布控数据源采集稽核、监控需要的信息
信息处理 结合规则对采集来的原始信息进行处理
信息展现 信息展现的方式和说明
信息点布控模块
信息点描述
1. 计费系统监控有关的信息来源主要有以下几个方面:
关联
关联
引用 引用
对应
关联1
数据源定义
配置原始信息
采集参数
告警原始信息性能原始数据
阀值规则
平衡稽核关系
性能结果数据
告警结果信息
知识库
数据源信息
主机设备
数据库
中间件
应用系统
因此主要考虑在这些数据源布控监控和稽核需要的信息。
2. 根据不同的信息类别,可以划分为性能指标、告警信息、配置信息三类,
1). 性能指标(KPI)
性能指标分为二级:
一级性能指标:指对系统运行最重要的,属于核心和常用的,有明
确阀值定义,能够判断系统是否正常运行的性能指标。
二级性能指标:对于分析系统性能有参考意义的,一般不设定阀值。
该分级只对性能指标分级,不涉及到告警级别分级。性能指标通过设
定阀值来触发相应的性能阀值告警,对于性能指标的阀值定义,原则上采
用忙时、闲时、正常时段设置不同阀值,或同一时段可设多个阀值进行分
级告警。
2). 告警信息
告警信息从严重程度、影响范围以及与企业相应考核指标的关系确定告警级
别,具体分为三级:严重告警(Critical)、重要告警(Major)、一般告警(Minor):
严重告警(Critical):
指告警信息的严重程度高、对系统业务影响范围广、与业务支撑系统
相应考核指标的关系紧密。
重要告警(Major):
指告警信息的严重程度较高、对系统业务有一定范围的影响、与业
务支撑系统相应考核指标有一定关系。
一般告警(Minor):
指告警信息的严重程度低、对系统业务影响范围小、与业务支撑系统
相应考核指标没有紧密的联系。
3). 配置数据
配置数据包括配置信息、资源归属关系、输入输出。
信息编码
计费系统的信息点布控有关的消息编码规则依据《中国电信计费模型—接口协议标
准》,消息编码由五个部分组成:aa-bb-cc-dd-eee
1. aa 代表监管消息的信息种类:
名称 编码 说明
控制命令 1 暂不实现该类监控功
能
告警消息 2
配置消息 3
性能消息 4
2. bb 代表被管理对象的种类:
名称 编码 说明
硬件平台 1
数据库 2
中间件 3
计费系统 4
其它 51-99 扩展预留
3. cc 代表被管系统的详细分类
1). 主机系统(bb=1)
名称 编码 说明
主机 1
2). 系统软件类(当 bb=2 时)
名称 编码 说明
数据库软件 1
中间件 2
3). 计费系统类(当 bb=3 时)
名称 编码 说明
联机采集 1
计费处理 2
帐务处理 3
前台保障 4
信控控制 5
数据提供 6
中间层 7
数据中心(DataCenter) 8
其他 10-99 保留
信息采集功能
功能概述
信息采集就是从主机、数据库、中间件、计费系统等数据源获取监控和稽
核需要的性能数据、配置数据、告警数据的过程。
处理流程图
信息采集处理说明
1. 从不同数据源采集布控信息的方式通常有几种:
通过定时轮循机制来获取信息数据源对象的数据。
通过监听 Agent 的 TRAP 消息实时获取数据。
从数据库处理日志信息表、系统处理结果表中获取。
通过手工录入或批文件导入基础数据。
2. 采集的接口方式
针对不同的数据源类型,获取布控信息的接口协议主要有几种:
SNMP 接口
消息: 消息方式可采用 Socket(套接字)方式或 MessageQueue
(消息队列)等方式。
开始
选择采集数据
源类型
获取采集参数
获取配置信息
采集性能信
息、告警信息
采集是否正确 异常处理否
重新采集
采集是否完成
是
否
结束
文件方式:主要采用 XML 方式
3. 采集的要求
性能数据应可通过定时方式、周期方式等进行采集。
故障数据的实时性要求较高,应根据具体的接口方式采用不同采集
机制,保证故障数据及时获得。
配置数据相对稳定,在系统比较闲时进行采集
信息处理
功能概述
信息处理功能是根据稽核关系、处理规则对不同的数据源采集来的数据
进行处理,并输出处理正常数据和异常结果数据。
处理流程图
处理说明
1. 性能数据反映了系统的运行状况,是判别被布控资源运行是否正常的关键
开始
获取原始信息
获取稽核规则
处理结果是
否正确
记录正确结果
数据
根据规则计算
记录异常结果
数据
是
结束
获取知识库否
数据。性能数据一旦超出预先设定的阀值时,系统将触发一个告警,该
告警称为性能告警。
2. 计费系统中各个环节的稽核信息处理是根据对各个环节设定的稽核平衡公
式进行计算,判断稽核的数据是否平衡或异常。
3. 对于稽核不平衡数据、告警数据等异常数据要结合知识库中的处理办法采取
相应的处理措施。
稽核的方式和策略
稽核方式
计费系统的稽核方式主要有系统自动稽核和人工稽核方式。
1. 系统自动稽核
系统自动稽核就是采用非人工的方式,由系统通过程序处理实现。系统自动根据预先
设定的规则或稽核关系,对稽核点的数据进行计算和比较,以验证系统处理的正确性和一致
性。
通过自动稽核的方式可以控制系统处理系统的运行方向,如停止处理、忽略稽核结果
继续执行等。
系统自动稽核数据主要来自系统处理日志信息、预先生成的稽核数据、临时数据等。
2. 人工稽核:
在某些时候稽核的结果需要人工判断才能说明稽核是否正确,因此需要采用
进行人工的稽核。人工的稽核一般来说有两类,一种是人工抽样进行:
1). 由人工通过界面输入或 SQL 语法从数据库获取稽核数据信息。
2). 提供单个号码稽核界面,以用户、客户、账户为稽核对象稽核客户资料
另外一种人工稽核的方法是系统预先生成稽核数据,然后由人工判断稽核数据
是否正确。
稽核的策略
1. 全面审核的策略:对系统全流程各个环节的稽核,包括数据采集、预处理、
批价、帐务处理、中间层数据生成、销账等系统的各个环节,主要稽核各环
节处理的输入与输出数据的一致性、准确性。
2. 事前、事中、事后全过程控制的策略:
事前稽核:系统在处理前稽核任务执行的条件是否满足,只有任务
执行的前提条件都满足时才能执行任务。如帐务处理前需要稽核计
费数据源是否提供完备。事前稽核常用的是人工的方式。
事中稽核:在系统处理过程中对处理的数据进行稽核,验证是否正
确或异常,然后再采取相应的措施。事中稽核主要是采用系统自动
稽核的方式。
事后稽核:在任务处理后对输出结果进行稽核,
稽核的流程
稽核的流程包括稽核信息点布控、稽核信息生成、稽核信息获取、稽核信息展示
稽核数据生成
全流程各环节处理程序中根据各环节布控信息点的要求将稽核需要的信息生成到不同
的位置,如日志表、文件。
稽核信息获取
稽核信息获取的方式主要采用以下几种:
1. 某些处理环节提供接口程序,稽核程序通过调用这些接口程序获得这些处理
环节的稽核需要的信息。
2. 提供一些程序定时(每天、每月)将一些稽核信息数据预先生成好,这样稽
核展示时就可以直接将生成好的数据展示处理,这些程序可以是存储过程也
可以是其他可运行的稽核任务。
3. 通过文件的方式将文件中的稽核信息加载到稽核系统中进行稽核、展示。
稽核信息展示
稽核信息展示的方式主要有以下:
1. 计费系统的稽核结果展示主要是以报表的形式体现,报表格式的展现比较
直观。在后面的全流程稽核中对各个环节的稽核设计了各种稽核报表格式
2. 图形方式:通过各种拓扑图或趋势、分析图表来展示稽核的结果。
3. 日志文件:通过界面显示稽核日志文件的内容。
全流程信息点布控和审核校验
计费系统全流程包括数据采集、计费处理、出帐处理、数据交换等环节,全流程审核
校验就是对流程中的这些环节的输入、输出结果进行稽核,在流程中只有上一环节处理结果
审核通过后才能进行下一个环节的处理,这样才能确保各个环节处理的正确性、一致性。全
流程审核校验的流程如下图所示:
数据交换
数据采集
计费系统的采集是从各种业务的采集源读取服务使用记录,为计费系统数据处理提供
数据源的过程。数据采集的方式分为在线采集(ONLINE 采集)、联机采集、脱机采集三种方
式,本设计的稽核主要针对脱机采集和联机采集两个方面。
信息点内容
1. 日志信息:
数据采集需要记录以下日志信息:采集时间段、批次号、文件编号、文件
名称、文件大小、所属交换机、采集起始时间、采集终止时间、操作工号。
2. 性能信息:
A. 联机采集传输的速率。
B. 每日采集的文件数和文件字节数。
3. 告警信息:
A. 数据采集与联机采集系统及网元之间通信链路通断情况。
B. 采集进程发生异常。
C. 文件数和文件字节数异常。
稽核内容:
数据采集从三个层次进行稽核校验:
1). 批次级校验,主要从以下方面进行稽核校验:
文件是否接收完整,是否存在跳号(文件不连续);
文件有无漏采或重采;
如果有数据源有汇总,验证文件数、各文件大小,记录数是否与汇
总文件中内容一致。
同一网元采集的原始文件的字节数日变化曲线连续异常;
采集总文件数和字节数的月变化图连续;
2). 文件级校验,主要从以下角度进行稽核:
文件名是否符合命名规范;
文件中的记录数是否和采集数据源获得的记录数信息一致;
文件头记录的信息是否和数据的信息一致;
3). 记录级校验:校验各数据文件内的记录格式是否符合相关的规范。
稽核信息生成
1. 采集每个文件后都要记录数据采集信息点内容描述的日志信息。
2. 在采集日志表中记录每个文件的采集时长。
3. 文件控制采集模式下根据汇总或索引文件中的内容进行稽核文件的个数和
文件大小,出现异常时记录告警信息。
数据交换
数据处理
预处理
信息内容
1. 日志信息:
A. 预处理日志信息:批次 ID、文件编号、事务 ID、文件名称、预处理起
终止时间、操作工号。
B. 正常预处理文件的:伪标输出记录数、正常记录数、无效记录数、拆分
记录数、拼接记录数、错误记录数、悬挂话单数、重单记录数、回收错
误记录数、回收的重单记录数。
2. 性能信息:
预处理引擎处理单位时间处理事件的数量。平均单个事件预处理的耗时。
3. 告警信息:
A. 预处理引擎进程运行状态异常,占用主机资源情况异常。
B. 文件格式异常。
C. 信息内容校验不平衡异常告警
稽核内容
预处理环节对以下方面的内容进行稽核校验:
1). 记录数的稽核,预处理与采集环节(伪标输出)之间记录数的稽核。
2). 预处理错误异常记录数与历史情况对比的日、月变化趋势连续。
3). 预处理正常记录数按话务类别、网元、营业区的日、月变化趋势连续
5 数据采集部分数据库设计与实现
数据交换表间关系设计
dd_file_fields_t(文件字段信息表)
Start:
表结构
字段名 字段含义 类型 空值 主键 外键 外键说明
Field_No 字段编号 Number(9,0) Not YES
Field_Name 字段名 VARCHAR2(30
)
Not
Field_Type 字段类型 Number(3,0) Not
Field_Description 字段描述 VARCHAR2(25
5)
Field_Length 字段长度 Number(4,0) Not
End:
Product_Usag
e_Detail_T
Product_Define_T
File_Format_
Define_T
File_Format_
Detail_T
Policy_Stor
age_T
Policy_Tra
nsfer_T
Policy_Ro
ute_T Policy_Sch
eduler_T
Product_Mana
ge_Policy_T
Policy_File_
Manage_T
Product_Swap
_Policy_T
Policy_De
ploy_T
表描述
dd_file_fields_t 存放字段定义信息,主要包括字段名、字段编号、类型长度
等信息。
常用可定义的字段如下:
字 段 序
号
字段英文名 字段描述
$1 LS_FLD_FILE_NAME 文件名(含前缀/后缀)
$2 LS_FLD_FILE_PATH 文件路径
$3 LS_FLD_FILE_ORIG_HOST 文件源主机
$4 LS_FLD_FILE_NAME_PREFIX 文件名全缀
$5 LS_FLD_FILE_NAME_SUFFIX 文件名后缀
$6 LS_FLD_FILE_FULL_NAME 文件全路径名
$7 LS_FLD_FILE_SIZE 文件大小
$8 LS_FLD_FILE_CREATED_TIME 文件生成时间
$9 LS_FLD_FILE_VERIFY_CODE 文件校验码
$10 LS_FLD_FILE_RECORD_COUNT 文件记录数
$11 LS_FLD_FILE_TYPE 文件类型(TXT/XML 或其它)
$12 LS_FLD_FILE_FORMAT_ID 文件格式码
$13 LS_FLD_FILE_SERVICE_CATG 文件所属业务类型
$14 LS_FLD_FILE_SERIAL 文件流水号
$15 LS_FLD_FILE_ACCT_MONTH 文件帐务月份
$16 LS_FLD_FILE_SWITCH_ID 文件所属交换机
$17 LS_FLD_FILE_REGION_ID 文件所属营业区
$18 LS_FLD_FILE_SERVICE_TYPE 文件业务类型
$19 LS_FLD_FILE_AREA_CODE 文件所属区号
字段描述
字段名 字段描述
Field_Name 以 LS_FLD_FILE_开头
file_format_define_t(文件格式定义表)
Start:
表结构
字段名 字段含义 类型 空值 主键 外键 外键说明
Format_Id 文件格式码 Number(9,0) Not Yes
Format_Name 文件格式名 Varchar2(50)
Format_Description 文件格式描述 Varchar2(100)
Body_Start_Tag 文件体开始字串 VARCHAR2(10
0)
Body_Start_Line_No 文件体开始行号 Number(9,0)
Body_Format_Type 文件体格式类型 Number(2,0)
Have_Head_Flag 是否包含文件头 Number(2,0)
Head_Start_Tag 文件头开始字串 VARCHAR2(10
0)
Head_Start_Line_No 文件头开始行号 Number(9,0)
Head_Format_Type 文件头格式类型 Number(2,0)
Have_Tail_Flag 是否包含文件尾 Number(2,0)
Tail_Start_Tag 文件尾开始字串 VARCHAR2(10
0)
Tail_Start_Line_No 文件尾开始行号 Number(9,0)
Tail_Format_Type 文件尾格式类型 Number(2,0)
Split_Char 不定长记录类型的
分割符号
VARCHAR2(20
)
FileName_Format_Type 文件名格式类型 Number(2,0)
FileName_Split_Char 不定长文件名的分
割符号
VARCHAR2(20
)
Check_Method 文件格式检查方法 Number(9,0)
End:
表描述
file_format_define_t 存放文件类型的格式定义。
字段描述
字段名 字段描述
Head_Format_Typ
e
Body_Format_Typ
e
Tail_Format_Type
1 定长 2 不定长,同一分割符
Split_Char 定长记录类型时,该字段值为空
Body_Start_Line_
No
Head_Start_Line_
No
Tail_Start_Line_N
o
若为负数,则表示相对文件尾的行数偏移
Check_Method 文件格式校验方法 &0 不检查 &1 检查定长记录文件记录长度 &2 检
查可变长记录文件的分割符数量 &4 检查文件内记录数据描述是否正确
file_format_detail_t (文件格式细节定义表)
Start:
表结构
字段名 字段含义 类型 空值 主键 外键 外键说明
Format_id 文件格式码 Number(9,0) Not Yes
Line_Type 行记录类型 Number(2,0) Not Yes
Line_Offset_No 文件行号,相对行类
型的开始行号的偏
移
Number(9,0) Not
Field_Seq_No 字段序号 Number(4,0) Not Yes
Field_Name 字段名称 VARCHAR2(30
)
Not
Field_Type 字段类型 Number(3,0) Not
Field_Description 字段描述 VARCHAR2(25
5)
Field_Offset 字节偏移 Number(9,0)
Field_Length 字段长度 Number(9,0)
Field_Start_Tag 字段开始字串 VARCHAR2(10
0)
Field_End_Tag 字段结束字串 VARCHAR2(10
0)
End:
表描述
此表存放文件内字段的处理方法信息。
字段描述
字段名 字段描述
Line_Type 0 文件名 1 头 2 体 3 尾 4 文件路径
Line_Offset_No 文件行号,相对行类型的开始行号的偏移 从 1 开始的行号,相
对于对应的文件内容的某部分的开始行号
Split_Char 定长记录类型时,该字段值为空
Policy_Storage_T(存储策略定义)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Swap_Policy_ID 交换策略号 Number(9,0) Not Yes
Station_ID 采集点编号 Number(9,0) Yes
Src_Ftp_Host_ID 源主机 ID Number(9,0) Not
Src_File_Path 源路径 Varchar2(255)Not
Src_File_Pattern 源文件通配符 Varchar2(255)Not
Bak_File_Path 源备份路径 Varchar2(255)Not
Bak_File_Name 源备份文件名 Varchar2(255)Not
Src_Move_Policy 源文件改名策略 Number(2,0) Not
Have_Idx_Flag 是否包含索引文件 Number(2,0) Yes
Src_Idx_Path 源索引路径 Varchar2(255)Yes
Src_Idx_Pattern 源索引通配符 Varchar2(255)Yes
Bak_Idx_Path 源索引备份路径 Varchar2(255)Yes
Bak_Idx_Name 源索引备份文件名 Varchar2(255)Yes
Idx_Move_Policy 索引文件改名策略 Number(2,0) Yes
Store_File_Path 落地目录 Varchar2(255)Yes
Push_Scan_Path Push 扫描目录 Varchar2(255)Yes
Store_Bak_File_P
ath
落地备份目录 Varchar2(255)Yes
Store_Bak_File_N
ame
落地备份文件名 Varchar2(255)Yes
Store_Move_Polic
y
落地文件改名策略 Number(2,0) Yes
File_Format_Id 数据文件格式码 Number(9,0) Not
Idx_Format_Id 索引文件格式码 Number(9,0) Yes
Store_Life_Cycle 落地保留周期 Number(2,0) Yes
Store_Cycle_Type 落地周期类型 Number(2,0) Yes
Local_Flag 数据源是否本地标志 Number(2,0) Yes
Scheduler_ID 扫描时间策略 ID Number(9,0) Not
bak_ftp_host_id 备份 ftp 主机标识 number(9) Yes
bak_life_cycle 备份保留周期 number(9) Yes
表描述
此表,定义数据源扫描通配符、落地存储路径等信息
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【第 1 章 数据交换参数】
应用范围:【BILLING】
字段描述
字段名 字段描述
Src_File_Path 源 路 径 , 如 : /app/lntx/billing/R2101/collect/200506/mloc/ , 支 持
/app/lntx/billing/R????/collect/??????/mloc/通配目录模式,注意不能将通配
设成/app/lntx/billing/R*/collect/*/mloc/
Src_File_Pattern 源文件通配符,文件扫描程序扫描目录后,根据此通配符过滤出匹配的文
件。如: *.90011
Bak_File_Path 备份目标路径
Bak_File_Name 备份源文件名通配符,文件扫描程序扫描目录后,过滤出匹配的文件
如: $1$.OK,其中$1$代表文件名变量
Src_Move_Policy 源文件改名策略, 目标文件到达后处理,对源文件的处理方式 0 不备份 1
备份 2 删除
Idx_Move_Policy 索引文件改名策略, 目标文件到达后处理,对源索引文件的处理方式 0 不
备份 1 备份 2 删除
Store_File_Path 落地目录,支持配置$$变量,如: /data/M$15$/R$17$/
Pull 落地时,以此字段值作为落地目录
Push_Scan_Path Push 扫描目录,支持配置??通配,如:/data/M????/R????/
Push 扫描时,以此字段值作为扫描目录
Store_Bak_File_P
ath
落地备份目录,支持配置$$变量,如:/databak/M$15$/R$17$/
Store_Move_Polic
y
落地文件改名策略,落地文件到达目标主机后处理,对落地文件的处理方
式 0 不备份 1 备份 2 删除
Store_Reserve_Cy
cle
落地保留周期,取文件时间跟当前系统时间比对,如果超过该保留周期,
则进行清理
Store_Cycle_Type 周期类型,0.天 1.周 2.月
Station_ID 采集点编号,接口表方式从接口表倒过来的,一个交换策略对应一个采集
点编号,对于非接口表方式,该字段可以为空
bak_ftp_host_id 备份 ftp 主机标识,此字段只对新疆联机采集需求有效(非计费采集)。若
设置为 0,表示在本机上做备份处理;否则表示在 ftp 标识对应的主机上
做备份处理。
bak_life_cycle 备份保留周期,此字段只对新疆联机采集需求有效(非计费采集)。取文
件时间跟当前系统时间比对,如果超过该保留周期,则进行清理。
索引
索引类型 索引名称、字段 索引作用
唯一 Swap_Policy_Id
表间关系
Policy_Storage_T 和 Policy_Storage_Dest_T 是一对多或者一对一的关系。
更新 SQL
该表的数据更新,应该手工更新。
Policy_Route_T(路由策略表)
Start:
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Route_ID 路由策略标识号 Number(9,0) Not Yes
Src_Host_Name 源主机名 Varchar2(50) Not
Dest_Host_Name 目标主机名 Varchar2(50) Not
Priority 优先级别 Number(4,0)
Swap_Host_Name1 交换点 1 主机名 Varchar2(50)
Swap_Host_Name2 交换点 2 主机名 Varchar2(50)
Swap_Host_Name3 交换点 3 主机名 Varchar2(50)
Swap_Host_Name4 交换点 4 主机名 Varchar2(50)
Swap_Host_Name5 交换点 5 主机名 Varchar2(50)
End:
表描述
此表只作为参数维护时用。注:此表并无多大实际意义,只需维护数据进去
即可。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数(公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节:第 1 章【数据交换参数】
字段描述
字段名 字段描述
Priority 优先级别,1-n 高级别优先
索引
索引类型 索引名称、字段 索引作用
表间关系
更新 SQL
Policy_Transfer_T(传输策略定义)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Transfer_ID 传输策略号 Number(9,0) Not Yes
Divide_Flag 分割传输 Number(2,0) Not
Divide_Size 分割大小 Number(10,0)
Crypt_Flag 是否加密 Number(2,0) Not
UnCrypt_Flag 是否解密 Number(2,0) Not
Compress_Flag 是否压缩 Number(2,0) Not
UnCompress_Flag 是否解压缩 Number(2,0) Not
PseuFormat_Flag 是否伪标准化格式处理 Number(2,0) Not
Merge_Flag 是否文件合并处理 Number(2,0) Not
file_continuity_jud
ge_flag
是否判断文件连续性 Number(2,0) Not
cross_verify_flag 是否进行时间交叉校验 Number(2,0) Not
cross_limit 时间交叉阀值 Number(9,0) Not
continuity_verify_
flag
是否进行时间连续校验 Number(2,0) Not
continuity_limit 时间连续阀值 Number(9,0) Not
Divide_Limit 分割阀值 Number(12) Yes
表描述
该表定义文件传输前后是否对文件进行压缩/解压缩,加密/解密,伪标准化格式处理,
文件合并处理,文件分割处理。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数(公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节:第 1 章【数据交换参数】
应用范围:【BILLING】
字段描述
字段名 字段描述
Divide_Flag 分割传输 注:交换平台暂不处理,由数据提供者处理分割
Divide_Size 分割大小,单位字节
Crypt_Flag 是否加密 0. 不加密 1. 加密
UnCrypt_Flag 是否解密 0. 不解密 1. 解密
Compress_Flag 是否压缩 0. 不压缩 1. 压缩
UnCompress_Flag 是否解压缩 0. 不解压缩 1. 解压缩
Merge_Flag 是否文件合并处理 0. 不进行文件合并处理 1. 进行文件合并处理
PseuFormat_Flag 是否伪标准化格式处理 0. 不进行伪标准化格式处理 1. 进行伪标准化格
式处理
file_continuity_jud
ge_flag
是否判断文件连续性 0.不进行文件连续性判断 1.进行文件连续性判断
cross_verify_flag 是否进行时间交叉校验 0.不进行时间交叉校验 1.进行时间交叉校验
cross_limit 时间交叉阀值,前后文件时间交叉超过阀值则要告警,单位是分
continuity_verify_
flag
是否进行时间连续校验 0.不进行时间连续校验 1.进行时间连续校验
continuity_limit 时间连续阀值,前后文件时间间隔超过阀值则要告警,单位是分
Divide_Limit 分割阀值,当文件大小超过分割阀值时,对文件进行分割传输,单位字节
索引
索引类型 索引名称、字段 索引作用
唯一 Transfer_ID
表间关系
更新 SQL
该表的数据更新,应该手工更新。
P olicy_Scheduler_T(时间策略定义)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Scheduler_Id 频度策略号 Number(9,0) Not Yes
Scheduler_Name 时间策略名 Varchar2(50) Not X
Scheduler_Desc 时间策略描述 Varchar2(100)Not x
Scheduler_Catg 交换频度类型 Number(2,0) Not
Retry_Times 重试次数 Number(2,0) Not 0
Retry_Interval 重试间隔 Number(2,0) Not 0
Scheduler_Miniute分钟 Varchar2(50) Not
Scheduler_Hour 小时 Varchar2(50) Not
Scheduler_Date 日期 Varchar2(50) Not
Scheduler_Month 月份 Varchar2(50) Not
Scheduler_Day 周几 Varchar2(50) Not
Timer_Catg 定时类型 Number(2,0) Not 0
表描述
定义扫描的时间策略。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【其他相关表】
字段描述
字段名 字段描述
Scheduler_catg 交换频度类型 0. 及时 1. 定时 2. 周期 3. 按需
Retry_Times 重试次数,重试次数为 0,则只扫描一次,不进行重试。
Retry_Interval 重试间隔,以分钟为单位,一般在 60 分钟内
Scheduler_Miniute
Scheduler_Hour
Scheduler_Date
Scheduler_Month
Scheduler_Day
可以是逗号分割的数字串,全部匹配用* 对于 0/3 类型这些字段可以为空,
1/2 必须非空
Timer_catg 定时类型,1 每月 2 每天 3 每周 4 每时 5 每分
支持以下定时设置:
每小时执行方式,此时不需另外进行输入设置,保
存结果为:“0_*_*_*_*”
每日定时方式,例如,每日 2、14 时各执行一次,
设置时输入:
时间:2,14
保存结果为:“0_2,14_*_*_*”
每月定时方式,例如,每月底 2、14 时各执行一次,
设置时输入:
日期:28,29,30,31
时间:2,14
保存结果为:“0_2,14_28,29,30,31_*_*”
每月定时方式,例如,每周 1 的 2、14 时各执行一
次,设置时输入:
周天:1
时间:2,14
保存结果为:“0_2,14_*_*_1”
索引
索引类型 索引名称、字段 索引作用
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Policy_File_Manage_T(文件管理策略定义)
Start:
表结构
字段名 字段含义 类型 空值 主键 外键 外键说明
Filemanage_Id 文件管理策略号 Number(9,0) Not Yes
Package_Flag 是否打包 Number(2,0) Not
Package_Command Unix 打包命令 Varchar2(1024)
Delete_Flag 是否清理 Number(2,0) Not
Scheduler_Miniute 分钟 Varchar2(50) Not
Scheduler_Hour 小时 Varchar2(50) Not
Scheduler_Date 日期 Varchar2(50) Not
Scheduler_Month 月份 Varchar2(50) Not
Scheduler_Day 周几 Varchar2(50) Not
End:
表描述
清理/备份的范围只包括 Pull/Push 目标目录、文件的备份/清理,不涉及数据
源的目录、文件
清理/备份由 Swapper 程序每天执行一次
Swapper 交换的每一个落地文件对会对应一个日志记录信息,日志信息中包
含文件的落地时间、保留周期等,超过保留周期的文件必须执行的每次交换的落
地文件
Swapper 程序每天会根据落地文件日志信息,将上一天的文件(不需备份的文
件除外)进行打包存放,打包文件“机器名_产品名_备份日期.tarz
任务生成程序根据 Product_Swap_Policy_t 定义
字段描述
字段名 字段描述
Package_command Unix 打包命令,如 tar cvfz $SOURCE_PATH$ $SOURCE_PATH$/bak/*
Policy_Deploy_T(部署策略定义)
Start:
表结构
字段名 字段含义 类型 空值 主键 外键 外键说明
Deploy_ID 部署策略号 Number(9,0) Not Yes
Swap_Host_Name 交换点主机名 Varchar2(50)
State 交换点主机状态 Number(2,0)
Independ_Mode 独立模式 Number(2,0)
Swapper_Num Swapper 进程数 Number(2,0)
Swapper_Name 交换服务名,用于独
立模式下
Varchar2(50)
End:
表描述
字段描述
字段名 字段描述
State 交换点主机状态,0 不可用 1 可用
Independ_Mode 独立模式 0.非独立模式,需要调度配合使用 1.独立模式,单独
使用,不与 Scheduler 交互
Swapper_Num Swapper 进程数,目前仅支持一个进程
Policy_Exception_T(异常处理策略定义)
Start:
表结构
字段名 字段含义 类型 空值 主键 外键 外键说明
Except_Policy_Id 异常处理策略号 Number(9,0) Not Yes
Catch_Except_Error 致命异常对策 Number(2,0) Not
Catch_Except_Warnning 一般异常对策 Number(2,0) Not
Catch_Except_Transfer FTP 传输异常对策 Number(2,0) Not
Catch_Except_Uncomp 文件大小异常对策 Number(2,0) Not
Catch_Except_Overlap 文件重名对策 Number(2,0) Not
Catch_Except_Omit 文件遗漏对策 Number(2,0) Not
Catch_Except_MD5Fail MD5 校验失败对策 Number(2,0) Not
Max_Retry_Times 失败最大重传次数 Number(6,0) Not
End:
表描述
字段描述
字段名 字段描述
Catch_Except_XX
X
异常处理策略, 0 异常时仅告警 1 异常时重做 2 异常时跳过(同时需要将文
件状态置成交换失败) 3 异常时悬挂处理 4 异常时进程退出
Max_Retry_Times 失败最大重传次数
Swap_Product_Define_t(交换产品定义表)
原表名:Product_Define_T
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Swap_Product_Id 产品号 Number(10,0) Not Yes
Product_Name 产品名 Varchar2(50) Not
Product_Description 产品描述 Varchar2(80) Not
State 产品状态 Number(2,0) Not
Provider 生产者 Varchar2(100)Not
Provide_Frequency 产生频度 Number(2,0) Not
Provide_Time 产生时间 Varchar2(10) Not
Product_Catg 产品类型 Number(2,0) Not
Region_Id 区域 Number(10) Not
Network_Element_Id 交换点网元 ID Number(9,0) Not
表描述
定义产品交换策略信息。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【其他相关表】
字段描述
字段名 字段描述
State 0 失效 1 有效
Product_Catg 产品类型, 0.数据分类目录产品 1 数据产品
Provide_Frequenc
y
0 实时 1 每月 2 每天 3 每周 4 每时
Provide_Time 空值,或具体的时间(‘HH24MI’)
Region_Id 该产品对应的区域,只到本地网一级
Network_Element
_Id
交换点网元 ID,定义交换中心的网元 ID
索引
索引类型 索引名称、字段 索引作用
唯一 Swap_Product_Id
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Swap_Usage_Detail_T(交换可用字段属性定义表)
原名:Product_Usage_Detail_T
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Swap_Product_Id 产品号 Number(10,0) Not Yes
File_Format_Id 文件格式码 Number(9,0) Not Yes
Field_Seq_No 字段序号 NUMBER(4,0
)
Not
Field_Name 字段名 VARCHAR2(
30)
Not Yes
Field_Value_Source 字段值来源 Number(4,0) Not
Field_Default_Value 字段默认值 VARCHAR2(
100)
Sql_Syntax 定 义 字 段 的 取 值
SQL 语法
VARCHAR2(
2000)
表描述
Swap_Usage_Detail_T 存放交换可用字段定义。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【其他相关表】
字段描述
字段名 字段描述
Field_Value_Sour
ce
字段值来源, 0.取默认值 1.根据文件格式定义取值 2. Sql_Syntax,字段
取值为 SQL 返回值,SQL 通过 Sql_Syntax 定义
SQL_Syntax 定义字段的取值 SQL 语法,如:根据编码映射表取编码或根据采集时间
取 帐 务 月 份 select case when _month < _month then _month else
_month end case from (select acct_month from billing_cycle_t where $1$ between
cycle_begin_date and cycle_end_date) a, (select acct_month from sys_cycle_t where
cycle_type_id = 421 and region_id = 1010 and rownum = 1) b ($1$在 dd_file_fields_t 表
示采集时间字段)
索引
索引类型 索引名称、字段 索引作用
唯一 Swap_Product_Id+File_Format_Id+
Field_Name
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Swap_Policy_T(交换策略定义)
原表名:Product_Swap_Policy_T
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Swap_Product_ID 产品号 Number(10,0) Not
Swap_Policy_ID 交换策略 ID Number(9,0) Not YES
Swap_Policy_Na
me
交换策略名 varchar2(50) Not
Swap_Policy_Des
c
交换策略描述 varchar2(255) Not
Swap_Method 交换方式 Number(2,0) Not
字段名 字段含义 类型 空值 主键 外键 缺省值
Arrival_Notify_M
ethod
文件通知方式 Number(2,0) Not
Network_Element
_Id
交换点网元 ID Number(9,0) Not
Swapper_Name 交换点服务名 Varchar2(50) Not
Transfer_Policy_I
d
传输策略 Number(9,0) Not
Audit_Policy 审核校验策略 Number(9,0) Not
Exception_Policy_
Id
异常处理策略 Number(9,0) Not
File_Method 文件处理方法 Number(9,0) Not
MD5_Flag 是否进行 MD5 校验 Number(1,0) Not
表描述
定义产品交换策略信息。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【其他相关表】
字段描述
字段名 字段描述
Route_Policy_Id 路由策略 ID 若为空或<=0,则表示不需要路由,直接送达目的地
(PULL&PUSH); 否则第一个交换点将文件 Pull 至本机,成功后将生成下
一个交换点的 Pull 任务,若下一个交换点为目的地,则不生生成下一交换
点的 Pull 任务,该交换点同时执行文件 Push
Swap_Method 交换方式,若不用路由策略,则需要指定该值 0.不交换方式 ,采
集 程 序 在 目 标 服 务 器 上 , 采 集 程 序 在 源 服 务 器 上
&PUSH,采集程序在交换中心
Arrival_Notify_M
ethod
文件通知方式 0.没有方式 1.扫描数据文件,通过 Swapper 扫描 2.扫描索
引文件,通过 Swapper 扫描 3.扫描接口表,通过 Scheduler 扫描 4.交互方
式,通过 Scheduler 扫描交互 消息通知,通过 Scheduler 接收消
息 消息通知,通过 Scheduler 接收消息
Scanner_Name 扫描点服务名,对应 Policy_Deploy_T 的 Swapper_Name 字段,值如:
Swapper_机器名_1 Swapper 根据此字段值,确定需要扫描的数据产
品
Scheduler_Policy_
Id
交换频度策略
Transfer_Policy_I
d
传输策略
Audit_Policy 审核校验策略, 0 不校验 &1 重名检查(重传时不检查) &2 流水检查(是否
跳号) &4 校验文件大小 &8 检查文件格式
应该可以同时选择多个审核校验方式,几种组合方式如下: 0 不校验 1
重复检查 2 流水检查 3 流水+重复检查 4 大小检查 5 大小+重复检查 6
大小+流水检查 7 大小+重复+流水检查 8 格式检查 9 格式+重复检查 10
格式+流水检查 11 格式+重复+流水检查 12 格式+大小检查 13 格式+重复
+大小检查 14 格式+流水+大小检查 15 格式+重复+流水+大小检查
Exception_Policy_
ID
异常处理策略
File_Method 文件处理方式, 目标文件到达后处理 0.不处理 2 通知计费处理 3 汇总
审核处理 对于联采计费文件,文件成功交换后,需要将交换的文件同时
写入 Log_Collect_T 对于对账处理,需要对账文件对账文件内容,对账信
息包括两部分:文件大小信息、文件汇总信息(包括文件开始时间、结束
时间、合计文件数、合计文件大小)
MD5_Flag 是否进行 MD5 校验,0 不校验 1。要校验
索引
索引类型 索引名称、字段 索引作用
唯一 Swap_Policy_Id
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Swap_Manage_Policy_T(交换文件管理策略绑定)
原名:Product_Manage_Policy_t
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Swap_Product_Id 交换产品号 Number(10,0) Not
Manage_Policy_Id 存储策略 ID Number(9,0) Not
表描述
数据交换产品管理策略绑定信息
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【其他相关表】
字段描述
字段名 字段描述
索引
索引类型 索引名称、字段 索引作用
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Swap_Product_Serial_Param_T(交换产品流水参
数配置)
原名:Product_Serial_Param_T
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Swap_Product_Id 产品号 Number(10,0) Yes
Swap_Policy_Id 交换策略 ID Number(9,0) Yes
Start_Value 开始流水号 Number(10,0) Not
End_Value 结束流水号 Number(10,0) Not
Step_Value 流水步长 Number(10,0) Not
字段名 字段含义 类型 空值 主键 外键 缺省值
Reset_Catg 复位类型 Number(2,0) Not
Field_Name 流水字段名 VARCHAR2(
50)
Orig_Value 初始流水值 Number(10,0) Yes 0
Orig_Date 初始流水日期 Date Yes sysdate
Station_id 采集点编号 Number(9) Not YES
表描述
数据交换文件流水参数定义
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【其他相关表】
字段描述
字段名 字段描述
Reset_catg 复位类型, 0 到达最大值从 Start_value 开始 1 每天从 Start_value 开始 2
每月从 Start_value 开始 3 每年从 Start_value 开始
Field_name 流水字段名,LS_FLD_FILE_SERIAL,一般文件流水标识在文件名中
Orig_Value 初始流水值,可为负值,如-1
Orig_Date 初始流水日期
Swap_Product_Id 此字段作废,文件流水检查改为以采集点为基本单元检查
Swap_Policy_Id 此字段作废,文件流水检查改为以采集点为基本单元检查
Station_id 采集点编号,文件流水检查时的基本单元
索引
索引类型 索引名称、字段 索引作用
唯一 Station_id
重复 SWAP_POLICY_ID
重复 SWAP_PRODUCT_ID
表间关系
与 Swap_Product_Serial_T 一对一关系
更新 SQL
该表的数据更新,应该手工更新。
Ftp_Server_Info_T(服务器信息管理)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Ftp_Host_Id FTP 标识 Number(9,0) Not
Network_Element_Id 网元标识 Number(9,0) Not 0
Host_Name FTP 主机名 Varchar2(50) Not
Host_Description FTP 主机描述 Varchar2(80) Not
Host_Ip IP 地址 Varchar2(50) Not
Host_Port 端口号 Number(9,0) Not
Login_User 用户名 Varchar2(30) Not
Login_Password 密码 Varchar2(30) Not
State 状态,标志是否可
用 1 可用 0 不可用
Number(2,0) Not
表描述
网元节点登录信息管理。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【其他相关表】
字段描述
字段名 字段描述
Network_Element
_Id
此字段主要为了标识出该 FTP_HOST_ID 对应的网元 ID
索引
索引类型 索引名称、字段 索引作用
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Swap_Network_Element_T (交换网元信息定义)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Network_Element
_Id
网元标识 Number(9,0) Not
Element_Name 网元名称 Varchar2(50) Not
Element_Desc 网元描述 Varchar2(100)Not
Element_Type 网元类型 Number(2,0) Not
Ftp_Host_Id FTP 标识 Number(9,0) Yes
Ftp_Home_Dir FTP 用户 HOME 目录 Number(9,0) Yes
表描述
定义经过交换中心进行数据交换的所有交换网元信息,包括:提供方、接受方、交换
中心等。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【其他相关表】
字段描述
字段名 字段描述
Element_Type 网元类型, 0. 交换中心 1. 数据提供方或数据接受方
Ftp_Host_Id FTP 标识, 如果 Element_Type 为交换中心,才需要该字段
Ftp_Home_Dir FTP 用户的 Home 目录配置, 如果 Element_Type 为交换中心,需要配置此
字段值
索引
索引类型 索引名称、字段 索引作用
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Swap_Error_Define_T (数据交换错误码定义)
Start:
表结构
字段名 字段含义 类型 空值 主
键
外
键
缺省值
Error_Code 错误代码 Number(5,0) No Yes
Error_Name 错误名称 Varchar2(64) No
Error_Desc 错误描述 Varchar2(256) No
Error_Type 错误类型 Number(3, 0) No
Suffix_Name 文件错误后缀 Varchar2(64) Yes
End:
表描述
Swap_Error_Define_T 存放错误定义信息,主要包括错误代码、错误名称、错误
描述、错误类型、文件错误后缀等信息。
可定义的错误代码如下:
错误代码 错误名称 错误描述 错误类型 文件错误后缀
1701 ERR_FILE_NOEXIST 索引文件中指定的原始
文件不存在
1 ERR001
1702 ERR_FILE_SIZE 索引文件中指定的原始
文件不完整(原始文件字
节数和索引文件定义的
字节数不匹配)
1 ERR002
1703 ERR_FILE_READFAIL 索引文件中指定的原始
文件无读取权限
1 ERR003
1704 ERR_FILE_FORMAT 索引文件中指定的原始
文件格式错误
1 ERR004
1705 ERR_FILE_OTHERS 索引文件中指定的原始
文件其他错误
1 ERR005
1711 ERR_IDX_READFAIL 索引文件无读取权限 2 ERR011
1712 ERR_IDX_FORMAT 索引文件格式错误 2 ERR012
1713 ERR_IDX_OTHERS 索引文件其他错误 2 ERR013
1721 ERR_NOPATERM 没有对应的文件通配规
则
3 ERR021
1731 ERR_DELATEMETER 累计跳表文件置后 4 ERR031
表分类
参数表
字段描述
字段名 字段描述
Error_Code 错误代码
Error_Name 错误名称
Error_Desc 错误描述
Error_Type 错误类型, 0.采集正确 1.原始文件错误 2.索引文件错误 3.无文
件通配规则 4.累计跳表文件置后
Suffix_Name 文件错误后缀,如在错误文件后面加上.ERR001,.ERR002…
索引
Swap_Condition_Define_T(采集条件定义)
表结构
字段名 字段含义 类型 空
值
主键 外键 外键说明
Src_Ftp_Id_List 源 FTP 服 务 器 ID
串
VARCHAR2(255) YES
Switch_Billing_List 计费系统交换机串 VARCHAR2(255) YES
File_CreatedTime_Start 采集文件开始时间 DATE YES
File_CreatedTime_End 采集文件结束时间 DATE YES
File_Path 采集文件路径 VARCHAR2(255) YES
File_Name 采集文件名 VARCHAR2(255) YES
Cycle_Times 循环次数 Number(10, 0) YES
Eff_Date 采集条件生效时间 DATE Not
Exp_Date 采集条件失效时间 DATE Not
表描述
通过监控界面设置临时的采集条件,根据该采集条件进行临时采集处理。采集程序实
时扫描该表,如果条件采集生效,则过滤不满足条件的文件,若条件采集失效,则采集所有
文件。
表分类
用户:参数表
数据字典:数据交换数据(帐务公用)
文档:
章节:第一章
字段描述
字段名 字段描述
Src_Ftp_Id_List 源 FTP 服务器 ID 串,Ftp_Id 来自于 ftp_server_info_t 表,可以设置
采集多个 FTP 服务器的文件,中间用逗号隔开。如果不需要该条件,
则该条件为 NULL。
Switch_Billing_List 计费系统 Switch_Id,Switch_Id 来自于 Switch_Map_T 表。可以设置
采集多个计费系统交换机的文件,中间用逗号隔开。如果不需要该
条件,则该条件为 NULL
File_CreatedTime_Start 采集文件开始时间,设置该时间,则采集程序只采集文件时间大于
或等于该时间的文件。如果不需要该条件,则该条件为 NULL
File_CreatedTime_End 采集文件结束时间,设置该时间,则采集程序只采集文件时间小于
或等于该时间的文件。如果不需要该条件,则该条件为 NULL
File_Path 采集文件路径,文件路径来自于表 policy_storage_t 的 Src_File_Path。
设置该路径,则采集程序只采集文件源路径为该路径的文件。不需
要该条件,则该条件为 NULL
File_Name 采集文件名,可以支持通配符或者具体文件名。设置该文件名,则
采集程序只采集与该文件名相匹配的文件。不需要该条件,则该条
件为 NULL
Cycle_Times 循环次数,采集程序交换线程的循环执行次数,如果设置了该条件,
则当采集交换线程达到该循环次数时,停止执行交换线程。
Eff_Date 采集条件生效时间,如果当前数据库系统时间大于或等于该时间,
则条件采集开始生效。
Exp_Date 采集条件失效时间,如果当前数据库系统时间小于或等于该时间,
则条件采集开始失效。
索引
表间关系
SQL
Switch_File_Check_T (文件校验)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Switch_Id 交换机编码 Number(9) Not
File_Type 文件类型 Number(9) Not
MD5_Max_Updat
e
控制校验的块数 Number(9) Not
表描述
该表记录需要进行文件间 MD5 校验的交换机对应的文件。对于在该表未配置控制检验
块数的交换机对应的文件,如果配置了 Switch_Id=-1 和 FileType=-1 的记录,则对这些文件
按该记录进行文件间 MD5 校验,否则使用默认值 MD5_Max_Update = 10 进行文件间 MD5
校验。对于在该表配置了控制校验块数的交换机对应的文件,则按配置的控制校验块数进行
文件间 MD5 校验。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【其他相关表】
字段描述
字段名 字段描述
Switch_Id 交换机编码
File_Type 文件类型
MD5_Max_Update 控制校验的块数,每块 1024 字节,若该值小于 10,则取 10
索引
索引类型 索引名称、字段 索引作用
表间关系
更新 SQL
Policy_Storage_Dest_T(存储策略目标主机定义)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Swap_Policy_ID 交换策略号 Number(9,0) Not
Seq_No 发送目标序号 Number(3,0) Not
Cond_Flag 条件标识 Number(2,0) Not
Cond_Var 条件变量 Varchar2(255)Yes
Cond_Value 条件变量值 Varchar2(50) Yes
Dest_Ftp_Host_ID目标主机 ID Number(9,0) Not
Dest_File_Path 目标路径 Varchar2(255)Not
Dest_File_Name 目标文件名 Varchar2(255)Not
Scheduler_ID 发送时间策略 ID Number(9,0) Not
表描述
定义存储策略号对应的目的主机信息,一个存储策略号可以对应多个目的主机。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【其他相关表】
字段描述
字段名 字段描述
Swap_Policy_ID 存储策略号
Cond_Flag 条件标识,0 无条件 1 按条件处理
Cond_Var 条件变量,填某个变量号,如:$16$
Cond_Value 条件变量值,填具体字符串值,如:1002
Dest_Ftp_Host_ID 目标主机 ID
Dest_File_Path 目标路径,支持目标路径填$$变量
Dest_File_Name 目标文件名,如: $1$
索引
索引类型 索引名称、字段 索引作用
唯一 Swap_Policy_Id+ Seq_No
表间关系
Policy_Storage_T 和 Policy_Storage_Dest_T 是一对多或者一对一的关系。
更新 SQL
该表的数据更新,应该手工更新。
Swap_Special_Task_T (特殊任务定义表)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Task_Code 任务代码 Varchar2(20) Not Y
Task_Name 任务名称 Varchar2(40) Not
Task_Type 任务类型 Number(2,0) Not
Usage_Range 使用范围 Number(2,0) Not
Transfer_ID 传输策略 ID Number(10,0) Yes
Lib_Name Lib 文件名 Varchar2(40) Yes
Initialize_Proc_Na
me
初始化函数名 Varchar2(40) Yes
Main_Proc_Name 主函数名 Varchar2(40) Yes
Rollback_Proc_Na
me
回退函数名 Varchar2(40) Yes
Append_Info 附加信息 Varchar2(100)Yes
Remark 备注 Varchar2(255)Yes
表描述
此表,定义数据交换特殊任务外挂,包括文件压缩/解压缩外挂,文件加密/解密外挂,
文件伪标准化格式处理外挂,文件合并处理外挂。
外挂函数定义格式:
1) int Main_Proc_Name(char *szFilePath, char *szSrcFileName,
char *szInAppendInfo, char szDestFileName, char *szOutAppendInfo);
其中
入参:szFilePath, szSrcFileName, szInAppendInfo 为输入文件路径,文件名,附加参数
出参:szDestFileName, szOutAppendInfo 为后输出文件名,附加参数
2) int Rollback_Proc_Name(char *szFilePath, char *szSrcFileName,
char *szInAppendInfo, char szDestFileName, char *szOutAppendInfo);
其中
入参:szFilePath, szSrcFileName, szInAppendInfo 为输入文件路径,文件名,附加参数
出参:szDestFileName, szOutAppendInfo 为输出文件名,附加参数
伪标外挂函数的定义格式:
入参: 1、 完整的文件名 2、 UsageTypeId 3、 RegionId 4、 伪标格式 ID 5、
当前计费周期 –可以在伪标动态库中获取
出参: 1、TfileInfo *pFileInfo --可能会有多个
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数(公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节:第 1 章【数据交换参数】
字段描述
字段名 字段描述
Task_type 任务类型, 1.加密解密 2.压缩解压缩 3.伪标准化处理 4.文件合并处理
Usage_Range 使用范围, 1.私用的 2. 公用的
Transfer_ID 传输策略 ID,当 Usage_Range 为 1.私用的才需要定义该字段
Initialize_Proc_Na
me
伪标外挂的初始化函数名,对于其他特殊任务外挂无意义
索引
索引类型 索引名称、字段 索引作用
唯一 Task_Code
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Swap_Policy_Plan_T (交换策略计划表)
表结构
字段名 字段含义 类型 空
值
主键 外键 缺省值
Swap_Policy_Id 交换策略号 Number(9,0) Not Yes
Dest_Seq_No 发送目标序号 Number(3,0) Not Yes
Plan_Cycle 计划周期:天、月 Varchar2(3) Not
Min_Pull_File_Num 接收最小文件数 Number(9) Not
Max_Pull_File_Num 接收最大文件数 Number(9) Not
Min_Push_File_Num 发送最小文件数 Number(9) Not
Max_Push_File_Num 发送最大文件数 Number(9) Not
Eff_Date 生效时间 Date Not
Exp_Date 失效时间 Date Not
表描述
定义一个交换策略的交换计划参数,定义的方式是按天或月定义该周期的接收和发送
文件个数范围
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数(公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节:第 1 章【数据交换参数】
字段描述
字段名 字段描述
Plan_Cycle 计划周期:1-天 2-月
索引
索引类型 索引名称、字段 索引作用
唯一 Swap_Policy_Id, Dest_Seq_No
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Scan_Interface_Define_T(文件扫描接口定义表)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Interface_Id 接口 ID Number(10) Not
Interface_Type 接口类型 Number(2) Not
Src_File_Path 源文件目录 Varchar2(255) Not
Src_File_Patern 源文件通配符 Varchar2(255) Not
Move_Policy 文件备份策略 Number(2) Not
Bak_File_Path 备份文件目录 Varchar2(255) Yes
Bak_File_Name 备份文件名 Varchar2(255) Yes
Dest_File_Path 目标文件目录 Varchar2(255) Yes
Dest_File_Name 目标文件名 Varchar2(255) Yes
Sql_Created_Time 文件创建时间 SQL Varchar2(1024)Not
Partition_id_region 区域分区标识 Number(6) Not
Valid_Flag 生失效标识 Number(2) Not
Error_File_Path 出错文件目录 Varchar2(255) Yes
Error_File_Name 出错文件名 Varchar2(255) Yes
oper_type 操作类型 Number(2) Not
表描述
定义需要通过文件目录扫描同外界进行交互的各种接口目录参数。这些接口
一般是通过数据交换从外部系统获取交互文件信息,然后由该接口程序进行处理。
如预付费停机接口。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数(公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节:第 1 章【数据交换参数】
应用范围:【BILLING】
字段描述
字段名 字段描述
Interface_Type 接口类型 1.预付费停机接口 2.预付费拆机接口
Src_File_Patern 文件通配符,支持’*’和’?’的通配符配置,如 1002*2006?????.txt
Move_Policy 文件备份策略。文件处理成功完成后,对源文件的处理方式 0 不备份 1
备份 2 删除
Bak_File_Name 备份文件名,支持通配符$1$的配置,$1$表示文件名
Dest_File_Name 目标文件名,支持通配符$1$的配置,$1$表示文件名
Sql_Created_Time 文件创建时间 SQL,配置取文件创建时间的 SQL 语法,支持$1$的配置,
$1$表示文件名.
Valid_Flag 生失效标识, 0.失效 1.生效
Error_File_Path 当通配符所匹配的文件的文件名不合法或者文件内部格式错误的时候,可
将文件转移到其对应的出错文件目录下,以便于人工进行处理
Error_File_Name 出错文件名,支持通配符$1$的配置,$1$表示文件名
oper_type 操作类型。当 interface_type 为 1 时无意义;当 interface_type 为 2 时,此
值为 0 表示以未经过确认处理的状态入 batch_remove_info_t 表,值为 1 表
示以经过确认处理的状态入 batch_remove_info_t 表。
索引
索引类型 索引名称、字段 索引作用
重复 Interface_Id
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Swap_Interface_Dyn_T(接口外挂定义表)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Table_Name 接口表名 Varchar2(40) NOT
Oper_Type 操作类型 Number(2,0) NOT
Lib_Name Lib 文件名 Varchar2(40) NOT
Main_Proc_Name 主函数名 Varchar2(40) NOT
表描述
定义对接口表进行读写的外挂函数。这里需要定义 2 个函数,一个是接口表信息读取
的函数,另一个是接口方式文件采集结果状态更新的函数。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节:第 1 章【数据交换参数】
字段描述
字段名 字段描述
Oper_Type 操作类型 1.读取操作 2.更新操作
索引
索引类型 索引名称、字段 索引作用
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Swap_Station_T(采集点定义表)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Station_ID 采集点编号 Number(9,0) NOT
Station_Name 采集点名称 Varchar2 (40) NOT
Region_Id 区域标识 Number(10,0) NOT
Note 备注 Varchar2(60) YES
表描述
定义采集点编号及其名称信息。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节:第 1 章【数据交换参数】
字段描述
字段名 字段描述
Station_ID 采集点编号
第一二位表示:
10:长途局 12:汇接局
11:网关局 13:小灵通局 …
第三至七位表示:
10100:南昌 10200:九江
第八九位表示序号。
索引
索引类型 索引名称、字段 索引作用
唯一 Station_ID
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Telnet_Server_Info_T(Telnet 登陆信息表)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Ftp_host_id ftp 主机标识 Number(9) Not
Ip_address IP 地址 Varchar2(20) Not
Login_id 登陆 ID Varchar2(20) Not
Password 密码 Varchar2(30) Not
Port 端口号 Number(9) Not
Pormpt telnet 的提示符 Varchar2(16) Yes
Command 命令串 Varchar2(255)Not
Percent 已用空间阀值百分比 Number(3) Not
State 状态 Number(2) Not
State_Date 状态时间 Date Not
表描述
此表存放 telnet 登陆信息,跟 ftp_server_info_t 通过 ftp_host_id 字段进行关联。
表分类
用户:【para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【第 1 章 数据交换参数】
应用范围:【BILLING】
字段描述
字段名 字段描述
Ftp_host_id ftp 主机标识,用于跟 Ftp_server_info_t 关联。
Ip_address IP 地址,telnet 的服务器 IP 地址。
Login_id 登陆 ID,telnet 的登陆用户名。
Password 密码,telnet 的登陆密码。
Port 端口号,telnet 的端口号。
Pormpt telnet 的提示符。
Command 命令串,配置检测指定目录已用空间百分比的命令。
Percent 已用空间阀值百分比,当已用空间百分比,超过此值,就认为是磁盘空间
不足。取值范围 0-100。
State 状态,1 为有效,0 为失效。
State_Date 状态时间,最后一次变更状态的时间。
索引
索引类型 索引名称、字段 索引作用
唯一 Ftp_host_id 保证了每个 Ftp_host_id,最多只能对
应一条记录。
表间关系
跟 ftp_server_info_t 表通过 ftp_host_id 关联。ftp_server_info_t 表中的每个 ftp_host_id,
将对应 telnet_server_info_t 表中 0 或 1 条记录。
更新 SQL
数据交换日志 Log_File_Arrival_T(文件到达日
志)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Arrival_Srl 到达流水 NUMBER(18,
0)
NOT
Interface_Srl 接口表文件流水号 NUMBER(18,
0)
YES
Arrival_Time 到达时间 DATE
Swap_Policy_Id 交换策略号 Number(9,0) Not
Station_ID 采集点编号 Number(9,0) Yes
Dest_Seq_No 目标序号 Number(9,0) Not
Idx_File_Flag 索引文件标志 Number(2,0) Not
Idx_Arrival_Srl 索引到达流水 NUMBER(18,
0)
not
Src_Ftp_Host_Id 源 FTP 服务器 ID NUMBER(9,0
)
not
Src_File_Path 源文件路径 VARCHAR2(
255)
not
Src_File_Name 源文件名 VARCHAR2(
255)
not
字段名 字段含义 类型 空值 主键 外键 缺省值
Bak_File_Path 备份路径 VARCHAR2(
255)
not
Bak_File_Name 备份文件名 VARCHAR2(
255)
not
Dest_Ftp_Host_Id 目标 FTP 服务器 ID NUMBER(9,0
)
not
Dest_File_Path 目标路径 VARCHAR2(
255)
not
Dest_File_Name 目标文件名 VARCHAR2(
255)
not
Usage_Count 记录数 NUMBER(9,0
)
not
File_Created_Tim
e
文件创建时间 Date not
File_Size 文件大小 NUMBER(12,
0)
not
Verify_Code 校验码 VARCHAR2(
255)
not
State 文件状态 Number(2,0) not
Write_Size 传输大小 NUMBER(12,
0)
Network_Element
_Id
交换点网元 ID Number(9,0)
Swapper_Name 交换点服务名 VARCHAR2(
50)
Swap_Start_Time 交换开始时间 Date
Swap_End_Time 交换结束时间 Date
Swap_Method 交换方式 Number(2,0)
Retry_Times 重传次数 Number(4,0)
Audit_State 文件稽核状态 Number(4,0)
Transfer_Rate 文件传输速率 Number(10,2) Yes
File_Acct_Month 文件帐务月份 CHAR(6) not
Switch_Billing 计费系统交换机编号 NUMBER(9) not
Used_Times 使用次数 NUMBER(2,0
)
Yes
Plan_Detail_Id 计划任务号 Number(9,0)
Merge_State 文件合并状态 Number(2,0) Not 0
File_Type_Collect 采集系统文件类型 VARCHAR2(
50)
Yes
Switch_Collect 采集系统交换机编码 VARCHAR2(
50)
Yes
字段名 字段含义 类型 空值 主键 外键 缺省值
Merge_Srl 合并流水 NUMBER(18,
0)
Yes
Sequence_Id 文件序列号 Number(9,0) Yes
partition_id_mont
h
月份分区 Number(2) Not
bak_ftp_host_id 备份 ftp 主机标识 number(9) Yes
bak_file_state 备份文件状态 number(2) Yes
bak_file_deadline 备份保留周期 number(9) Yes
store_file_state 落地文件状态 number(2) Yes
store_file_deadline落地保留周期 number(9) Yes
表描述
文件扫描结果、文件交换结果日志信息
表分类
用户:【ls6_sid】
数据字典分类: 【数据交换数据(帐务公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 第 2 章【日志】
字段描述
字段名 字段描述
State 处理状态 0 正常未处理 1 已成功处理 2 强制进行文件交换,不须稽核 -1
异常(如稽核失败)
Swap_Method 交换方式
Audit_State 文件稽核状态 0 未稽核 &1 文件重名&2 文件流水跳号&4 文件大小不一
致
Transfer_Rate 文件传输速率,单位 KB/s
File_Acct_Month 文件帐务月份,记录文件所属的帐务月份
Switch_Billing 计费系统交换机编号,记录文件的交换机编码
Used_Times 使用次数,文件数统计需要。一般为 1,对于包含 2 中格式的文件, 写
2;累计表底置后的文件,写 0.
Merge_State 文件合并状态, 0.文件未合并 1.中间文件合并 2.最后文件合并 3.合并后文
件 –1.文件合并失败
Interface_Srl 接口表文件流水号,接口表方式从接口表倒过来的,一个文件对应一个接
口表文件流水号,对于非接口表方式,该字段可以为空
Station_ID 采集点编号,接口表方式从接口表倒过来的,一个交换策略对应一个采集
点编号,对于非接口表方式,该字段可以为空
Merge_Srl 合并流水,同一批合并文件取同一个合并流水,即第一个合并文件的文件
到达流水
Sequence_Id 文件对应的序列号,每个采集点每天文件序号从 1 开始递增
partition_id_month月份分区(1-24)
索引
索引类型 索引名称、字段 索引作用
唯一 ARRIVAL_SRL
重复 Src_File_Name
重复 Plan_Detail_Id
重复 STATE
重复 SWAPPER_NAME
表间关系
更新 SQL
该表的数据更新,应该手工更新。
数据交换日志 Log_File_Reswap_T(文件重传日
志)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
ARRIVAL_SRL 到达流水 NUMBER(18,
0)
NOT
Arrival_Time 到达时间 DATE
Swap_Policy_Id 交换策略号 Number(9,0) Not
Dest_Seq_No 目标序号 Number(9,0) Not
Idx_File_Flag 索引文件标志 Number(2,0) Not
Idx_Arrival_Srl 索引到达流水 NUMBER(18,
0)
not
Src_Ftp_Host_Id 源 FTP 服务器 ID NUMBER(9,0
)
not
Src_File_Path 源文件路径 VARCHAR2(
255)
not
字段名 字段含义 类型 空值 主键 外键 缺省值
Src_File_Name 源文件名 VARCHAR2(
255)
not
Bak_File_Path 备份路径 VARCHAR2(
255)
not
Bak_File_Name 备份文件名 VARCHAR2(
255)
not
Dest_Ftp_Host_Id 目标 FTP 服务器 ID NUMBER(9,0
)
not
Dest_File_Path 目标路径 VARCHAR2(
255)
not
Dest_File_Name 目标文件名 VARCHAR2(
255)
not
Usage_Count 记录数 NUMBER(9,0
)
not
File_Created_Tim
e
文件创建时间 Date not
File_Size 文件大小 NUMBER(12,
0)
not
Verify_Code 校验码 VARCHAR2(
255)
not
State 文件状态 Number(2,0) not
Write_Size 传输大小 NUMBER(12,
0)
Network_Element
_Id
交换点网元 ID Number(9,0)
Swapper_Name 交换点服务名 VARCHAR2(
50)
Swap_Start_Time 交换开始时间 Date
Swap_End_Time 交换结束时间 Date
Swap_Method 交换方式 Number(2,0)
Retry_Times 重传次数 Number(4,0)
Audit_State 文件稽核状态 Number(4,0)
Transfer_Rate 文件传输速率 Number(10,2) Yes
File_Acct_Month 文件帐务月份 CHAR(6) not
Switch_Billing 计费系统交换机编号 NUMBER(9) not
Used_Times 使用次数 NUMBER(1,
0)
Yes
Plan_Detail_Id 计划任务号 Number(9,0)
Oper_Type 操作类型 Number(2,0)
Staff_Id 操作员 VARCHAR2(
16)
字段名 字段含义 类型 空值 主键 外键 缺省值
Oper_Time 操作时间 Date
表描述
此表记录 log_file_arrival_t 的变动记录前状态
重传操作时,将 log_file_arrival_t 对应记录挪到 log_file_reswap_t 中,即可实现重传功
能
表分类
用户:【ls6_sid】
数据字典分类: 【数据交换数据(帐务公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 第 2 章【日志】
字段描述
字段名 字段描述
LOCAL_FLAG 本机标志,0 不是 1 是
BACKUP_Method 备份标志,对应 _policy,0 不备份 1 备份 2
删除
State 处理状态 0 正常未处理 1 已成功处理 2 强制进行文件交换,不须稽核 -1
异常(如稽核失败)
Swap_Method 交换方式
Audit_State 文件稽核状态 0 未稽核 &1 文件重名&2 文件流水跳号&4 文件大小不一
致
Transfer_Rate 文件传输速率,单位 KB/s
File_Acct_Month 文件帐务月份,记录文件所属的帐务月份
Switch_Billing 计费系统交换机编号,记录文件的交换机编码
Used_Times 使用次数,文件数统计需要。一般为 1,对于包含 2 中格式的文件, 写
2;累计表底置后的文件,写 0.
索引
索引类型 索引名称、字段 索引作用
表间关系
更新 SQL
该表的数据更新,应该手工更新。
数 据 交 换 日 志 文 件 交 换 异 常 日 志 :
Log_File_Exception_T
Start:
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Arrival_Srl 文件到达流水 Number(18) Not
Swap_Start_Time 交换开始时间 Date
Swap_End_Time 交换结束时间 Date
Except_Code 异常代码 Varchar2(5)
Except_Desc 异常描述 Varchar2(255)
Except_Result 异常处理结果 Varchar2(5)
Result_Desc 异常处理结果描述 Varchar2(255)
swapper_name 交换点服务名 Varchar2(50) Yes
station_id 采集点编号 Number(9) Yes
swap_policy_id 交换策略 ID Number(9) Yes
task_code 任务代码 Varchar2(20) Yes
End:
表描述
记录交换异常日志信息。包括各省份计费采集和新疆联机采集的异常日志。
表分类
用户:【sid】
数据字典分类: 【数据交换数据(帐务公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【第 2 章 数据交换日志】
应用范围:【BILLING】
字段描述
字段名 字段描述
Arrival_Srl 文件流水,0 表示非文件级异常,正值对应 log_file_arrival_t 表中的同名
字段。
Swap_End_Time 异常发生时间,精确到秒。
Except_Code 异常代码标识,每个代码标识对应一种异常类型。
Except_Desc 异常详细描述。
Except_Result 异常处理状态标识。未处理状态为 0,已处理状态为 1。
Result_Desc 异常处理结果描述。
swapper_name 交换点服务名,对应 swap_policy_t 中的同名字段。
station_id 采集点编号,对应 policy_storage_t 中的同名字段。
swap_policy_id 交换策略标识,对应 policy_storage_t 中的同名字段。
task_code 任务代码,以区别不同任务写入此表。对于各省计费采集,此字段暂留空,
以后将改为’swapper’;对于新疆联机采集,此字段填’onlinecollect’。
索引
索引类型 索引名称、字段 索引作用
重复 Arrival_Srl
表间关系
更新 SQL
数 据 交 换 日 志 交 换 产 品 流 水 记 录
Swap_Product_Serial_T
原名:Product_Serial_T
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Swap_Product_Id 交换产品 ID Number(10,0) Yes
Swap_Policy_Id 交换策略 ID Number(9,0) Yes
Cur_Value 当前流水 Number(10,0) Not
Cur_Date 当前日期 Date
Station_id 采集点编号 Number(9) Not YES
表描述
数据交换产品产品流水日志
表分类
用户:【ls6_sid】
数据字典分类: 【数据交换数据(帐务公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 第 3 章【其他相关表】
字段描述
字段名 字段描述
Swap_Product_Id 此字段作废,文件流水检查改为以采集点为基本单元检查
Swap_Policy_Id 此字段作废,文件流水检查改为以采集点为基本单元检查
Station_id 采集点编号,文件流水检查时的基本单元
索引
索引类型 索引名称、字段 索引作用
唯一 Station_id
重复 SWAP_PRODUCT_ID
表间关系
与 Swap_Product_Serial_Param_T 一对一关系。
更新 SQL
该表的数据更新,应该手工更新。
数 据 交 换 日 志 ( 文 件 校 验 日 志 ) 表 名 :
Log_File_Audit_T
Start:
表结构
字段名 字段含义 类型 空值 主
键
外
键
缺省值
Audit_Arrival_Srl 对帐文件到达流水 Number(18,0) Not YES
Audit_Time 校验时间 DATE Not
Audit_Ftp_Id 源 FTP 服务器 ID Number(9,0) Not
Audit_Path 对帐文件路径 VARCHAR2(255) Not
Audit_Name 对帐文件名 VARCHAR2(255) Not
Audit_Range_Start_Time 校验范围开始时间 DATE Not
Audit_Range_End_Time 校验范围结束时间 DATE Not
Audit_Result 校验结果 Number(1, 0) Not
Audit_File_Numbers 校验文件总数 Number(10, 0) Not
Audit_File_Size 校验文件总大小 Number(10, 0) Not
File_Numbers 实际文件总数 Number(10, 0) Not
File_Size 实际文件总大小 Number(10, 0) Not
End:
表描述
记录文件校验结果信息。
表分类
日志表
字段描述
字段名 字段描述
Arrival_Srl 对帐文件到达流水
Audit_Result 校验结果。1:校验成功。0:校验失败
索引
索引类型 索引名称、字段 索引作用
表间关系
相关表: Log_File_Arrival_T, Log_File_Audit_Detail_T
SQL
数 据 交 换 日 志 ( 文 件 校 验 明 细 日 志 ) 表 名 :
Log_File_Audit_Detail_T
表结构
字段名 字段含义 类型 空
值
主
键
外键 外键说明
Audit_Arrival_Srl 对帐文件到达流水 Number(18,0) Not
ARRIVAL_SRL 文件到达流水 Number (18,0) Not
Audit_File_Path 校验文件路径 VARCHAR2(255) Not
Audit_File_Name 校验文件名 VARCHAR2(255) Not
Audit_Result 检验结果 Number(1, 0)
Audit_File_Size 校验文件大小 Number(10, 0)
File_Size 实际文件大小 Number(10, 0)
表描述
记录文件校验结果明细信息。
表分类
日志表
字段描述
字段名 字段描述
Audit_File_Path 校验文件路径.对帐文件内的需要被校验的文件路径
Audit_File_Name 校验文件名,对帐文件内的需要被校验的文件路径
Audit_Result 检验结果。1:校验成功。0:校验失败。
Audit_File_Size 校验文件大小.对帐文件内文件大小
File_Size 实际文件大小
索引
数 据 交 换 日 志 计 划 任 务 明 细
Swap_Plan_Detail_T
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Plan_Detail_Id 计划任务号 Number(9,0) Not Yes
Parent_Plan_Detai
l_Id
父计划任务号 Number(9,0) Not
Swap_Method 交换方式 Number(2,0) Not
Scheduler_Catg 交换频度类型 Number(2,0) Not
Swap_Policy_ID 交换策略 ID Number(9,0) Not
Scheduler_Id 时间策略 ID Number(9,0) Not
Pull_Idx_Flag Pull 索引文件标志 Number(2,0) Not
Src_Ftp_Host_Id 源 FTP 标识 Number(9,0)
Dest_Seq_No 目标序号 Number(3,0)
字段名 字段含义 类型 空值 主键 外键 缺省值
Plan_Start_Time 计划开始时间 DATE Not
Retry_Times 重试次数 Number(2,0) Not
Retry_Interval 重试间隔 Number(2,0) Not
Retry_Left_Times 剩余次数 Number(2,0) Not
Valid_Flag 生效标志 Number(2,0) Not
Auto_Flag 自动生成标识 Number(2,0) Not
Manual_Staff 手工维护者 Varchar2(30)
Manual_Desc 手工维护说明 Varchar2(30)
表描述
计划任务明细,该表由计划线程根据定义的时间策略生成,并作为扫描线程扫描源目
录生成交换日志的依据。
关于交换任务说明:
PULL: 1.计划线程:根据扫描频度生成 Pull 扫描计划; 2.扫描线程:根据扫描计划
进行目录扫描,扫描结果入 log_file_arrival_t,落地目录作为目标目录;3.交换线程:根据
log_file_arrival_t 进行数据交换
PUSH: 1.计划线程:根据目标发送频度生成 Push 扫描计划;2.扫描线程:根据扫描计
划进行目录扫描,扫描结果入 log_file_arrival_t,多目标表匹配发送目标;3.交换线程:根
据 log_file_arrival_t 进行数据交换
PUSH&PULL: 1.计划线程:1)根据扫描频度生成 Pull 扫描计划 2)根据目标发送频度生
成 Push 扫描计划;2.扫描线程:根据扫描计划进行目录扫描,扫描结果入 log_file_arrival_t
1)Pull 扫描时,落地目录作为目标目录 2)Push 扫描时,多目标表匹配发送目标;3.交换线程:
根据 log_file_arrival_t 进行数据交换
生成扫描计划:
1).Pull 扫描计划:定时扫描根据定时指定时间生成扫描计划;即时扫描方式一天
生成 24 条,每小时 1 条,执行扫描时对于即时任务取计划时间的前十位<YYYYMMDDHH>
与系统时间匹配
2).Push 扫描计划:目标定时发送方式根据定时指定时间生成扫描计划;目标即时
发送方式根据扫描频度设置生成计划
3).Pull&Push 扫描计划:分为 Pull 扫描计划和 Push 扫描计划生成
4).每个整点钟生成下一点钟开始一天内的计划,生成前需要先将下一整点后的计
划全部清除
计划明细:
即时:生成每天 24 小时计划 1 个模板每天对应 24 条 YYYYMMDDHH 计划
每日:生成每日某时计划 1 个模板对应每天对应 x(x(x= N 个小时))条
YYYYMMDDHH 计划
每月:生成每月某日某时计划 1 个模板每个月对应 x(x=M 个日期*N 个小
时)条 YYYYMMDDHH 计划
每时:生成每月每日每时计划 1 个模板每天对应 24 条 YYYYMMDDHH
计划
表分类
用户:【ls6_sid】
数据字典分类: 【数据交换数据(帐务公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 第 3 章【其他相关表】
字段描述
字段名 字段描述
Parent_Plan_Detai
l_Id
父定价计划号,维护定价计划间描述定价计划间的相关关系,默认值为 0
Swap_Method 交换方式 1. 接收(Pull) 2. 发送(Push)
Scheduler_Catg 交换频度类型 0. 及时 1. 定时
Pull_Idx_Flag Pull 索引文件,0,Pull 数据文件 索引文件
Src_Ftp_Host_Id 源 FTP 标识
Dest_Seq_No 目标序号
Plan_Start_Time 计划开始时间
Retry_Times 重试次数,重试次数为 0,则只扫描一次,不进行重试。
Retry_Interval 重试间隔,以分钟为单位,一般在 60 分钟内
Retry_Left_Times 剩余次数,初始值为可重试次数+1,当为 0 时此计划失效
Valid_Flag 1 有效 0 无效
Auto_Flag 自动生成标识,1 自动 0 手工生成
索引
索引类型 索引名称、字段 索引作用
唯一 Plan_Detail_Id
重复 swap_policy_id
重复 plan_start_time
重复 SCHEDULER_CATG
重复 VALID_FLAG
表间关系
更新 SQL
该表的数据更新,应该手工更新。
数 据 交 换 日 志 文 件 扫 描 接 口 日 志 表
Scan_Interface_Log_T
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Arrival_Srl 文件到达流水 Number (18,0) Not
Arrival_Time 文件到达时间 DATE Not
State 文件处理状态 Number(2) Not
Interface_Id 接口 ID Number(10) Not
Interface_Type 接口类型 Number(2) Not
Src_File_Path 源文件目录 Varchar2(255)Not
Src_File_Name 源文件名 Varchar2(255)Not
Move_Policy 文件备份策略 Number(2) Not
Bak_File_Path 备份文件目录 Varchar2(255)Yes
Bak_File_Name 备份文件名 Varchar2(255)Yes
Dest_File_Path 目标文件目录 Varchar2(255)Yes
Dest_File_Name 目标文件名 Varchar2(255)Yes
File_Created_Time 文件创建时间 DATE Not
Acct_Month 帐务月份 CHAR(6) Not
Partition_id_region 区域分区标识 Number(6) Not
Error_File_Path 出错文件目录 Varchar2(255)Yes
Error_File_Name 出错文件名 Varchar2(255)Yes
oper_type 操作类型 Number(2) Not
表描述
文件扫描接口日志表,记录各种不同接口的扫描结果,供不同接口的具体业务处理使
用,如预付费接口写 block_t 表使用。
表分类
用户:【ls6_sid】
数据字典分类: 【数据交换数据(帐务公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节:第 2 章【数据交换日志】
应用范围:【BILLING】
字段描述
字段名 字段描述
State 文件处理状态 0.未处理 1.处理成功完成 -1.处理失败
Interface_Type 接口类型 1.预付费停机接口 2.预付费拆机接口
Move_Policy 文件备份策略。文件处理成功完成后,对源文件的处理方式 0 不备份 1
备份 2 删除
File_Created_Tim
e
文件创建时间。文件的下带时间
Acct_Month 帐务月份,取 sys_cycle_t 表 usage_type=8 的月份
Error_File_Path 当文件名不合法或者文件内部格式错误的时候,可将文件转移到其对应的
出错文件目录下,以便于人工进行处理
Error_File_Name 出错文件名,支持通配符$1$的配置,$1$表示文件名
Oper_type 操作类型。当 interface_type 为 1 时无意义;当 interface_type 为 2 时,此
值为 0 表示以未经过确认处理的状态入 batch_remove_info_t 表,值为 1 表
示以经过确认处理的状态入 batch_remove_info_t 表。
此字段是直接由 scan_interface_define_t 中的对应记录的 oper_type 字段获
取的。
索引
索引类型 索引名称、字段 索引作用
唯一(全局索引)Arrival_Srl
重复 SRC_FILE_NAME
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Switch_map_t (采集系统代码映射表)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Region_id 区域信息 Number(10) not null
File_type_collect 采集系统文件类型 Varchar2(50) not null
Switch_collect 采集系统交换机编
码
Varchar2(50) not null
File_Type_Billing 计费系统文件类型 Number(9) not null
Switch_billing 计费系统交换机编
码
Number(9) not null
File_format 文件的伪标化格式 number(9) not null
Usage_type_id 使用记录类型 number(9) not null
Service_type 业务类型 Varchar2(20) not null
Remark 备注 Varchar2(30) null
Swap_Product_Id 数据交换产品标识 Number(10) Not
表描述
该表记录记录采集系统和计费系统的代码转换,传入: File_type、Switch_collect;传
出:Region_id、Switch_billing、File_format、Usage_type_id、Service_type
对 于 同 一 个 文 件 需 要 写 两 条 或 多 条 log_collect_T 的 情 况 , 通 过
File_Type+Switch_Collect 映射多条记录实现。
表分类
用户:【ls6_sid】
数据字典分类: 【数据交换数据(帐务公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 第 3 章【其他相关表】
字段描述
字段名 字段描述
Region_id 区域信息
File_type_collect 采集系统文件类型
Switch_collect 采集系统交换机编码
File_Type_Billing 计费系统文件类型
Switch_billing 计费系统交换机编码
File_format 文件的伪标化格式
Usage_type_id 使用记录类型
Service_type 业务类型
Remark 备注
Swap_Product_Id 数据交换产品标识,方便数据维护时候的数据组织
索引
索引类型 索引名称、字段 索引作用
重复 File_type_collect+ Switch_collect
表间关系
更新 SQL
该表的数据更新,应该手工更新。
Swap_Plan_Define_t(采集计划表)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Switch_Id 交换机标识 Number(9) Not Yes
Plan_Cycle 计划周期:天、月 Varchar2(3) Not
Min_File_Num 最小文件数 Number(9) Not
Max_File_Num 最大文件数 Number(9) Not
Eff_Date 生效时间 Date Not
Exp_Date 失效时间 Date Not
表描述
定义一个交换机的采集计划参数,定义的方式是按天或月定义该周期的文件个数范围
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【其他相关表】
字段描述
字段名 字段描述
Switch_Id 交换机标识
Plan_Cycle 计划周期:CODE_NAME_T 表 code_type=’COLLECT_PLAN_CYCLE’的
代码
1-天
2-月
Min_File_Num 最小文件数
Max_File_Num 最大文件数
Eff_Date 生效时间
Exp_Date 失效时间
索引
索引类型 索引名称、字段 索引作用
唯一 Switch_Id
表间关系
更新 SQL
数据分发概述
数据分发即根据定义的 SQL 语法,形成文本文件,并将文件传送至指定目标路径的过
程。
数据分发程序包括如下功能点:
功能点 1: 文件名配置,同时支持文件名中需要包含流水信息的处理
功能点 2: 文件头/文件尾可配置,同时支持汇总字段配置
功能点 3: 支持文件大小(最大记录数)限制功能,若一个"SQL"的结果记录数超过文件
大小,则分割为多个文件处理
功能点 4: 支持批次断点功能,若一个"SQL"的结果分割为多个文件处理过程中出现中
断,则重新处理时从断点文件开始
设计思路
根据分发业务特点,将分发数据分成静态数据分发和动态数据分发两种类型。静态数
据分发一般针对分发条件中不包含时间信息的情况;动态数据分发一般针对分发条件中包含
时间信息的情况,如分区月份、记录流水等字段。
基本思路: 通过灵活的参数取值方法定义,实现在适当的时间获取适当的参数取值,
达到程序自动在适当时间、执行适当 SQL 语句生成文件的功能。
对于一个 SQL 查询结果集不止一个文件的情况,需要统一约定:将一个 SQL 查询对
应一个任务 Task,一个任务 Task 的结果包括一个或多个文件 File。
对于表达式的计算,通过向 Oracle 服务器发送计算请求,返回计算结果。
关于表达式约定,完全遵循 Oracle 表达式约定,只要知道 Oracle 语句中表达式写法就
可知道表达式的编写。对于表达式中的变量参数,以两个’$’(或’@’)包括,如$1$(或@1@)表
示变量 1,其中$变量表示当前任务文件对应的变量,@变量表示上次任务文件对应的变量
Datasend_Define_T(数据分发定义)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Datasend_ID 分发 ID 号 Number(10,0) Not YES
Description 描述 Varchar2(50) Yes
SQL_Template 取数据的 SQL 语法 Varchar2(400
0)
Not
Region_id 此处指数据源的本地网
id
Number(10) Not
Db_type 数据源的数据库类型 Number(9) Not
File_Head_Expres
sion
文件头表达式 Varchar2(200
0)
Yes
File_Tail_Expressi
on
文件尾表达式 Varchar2(200
0)
Yes
Swapper_Name Swapper 服务名 Varchar2(50) Yes
Split_Chars 文件中记录分割符 Varchar2(10) Yes
Newline_Chars 换行符号 Varchar2(10) Yes \\r\\n
File_Size_Max 文件最大记录数 Number(9,0) Yes 0
File_Serial_Lengt
h
文件流水长度 Number(9,0) Yes
File_Serial_Catg 文件流水类型 Number(2,0) Yes 0
File_Serial_Orig_
Date
文件流水初始日期 Date Not
File_Serial_Orig_
Value
文件流水初始值 Number(9,0) Not -1
File_Serial_Min_ 文件流水最小值 Number(9,0) Not 0
字段名 字段含义 类型 空值 主键 外键 缺省值
Value
File_Serial_Max_
Value
文件流水最大值 Number(9,0) Not
Crypt_Flag 是否加密 Number(1, 0) Not
Service_Catg_ID 处理业务 ID Number(10, 0)Not
leading_zero_meth
od
前导零方法 Number(3) Not
表描述
定义数据分发数据生成参数。
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数(公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 第 4 章 数据分发
应用范围:【BILLING】
字段描述
字段名 字段描述
SQL_Template 取数据的 SQL 语法
Region_id 此处指数据源的本地网 id
Db_type 数据源的数据库类型
File_Head_Expres
sion
文件头表达式,Oracle 表达式,如 Head
若表达式中引用到变量参数,则以两个’$’(或’@’)包括,如$1$(或@1@)表
示变量 1,其中$变量表示引用当前任务文件对应的变量,@变量表示引
用上次任务文件对应的变量
File_Tail_Expressi
on
文件尾表达式,Oracle 表达式,如 Total:$7$
若表达式中引用到变量参数,则以两个’$’(或’@’)包括,如$1$(或@1@)表
示变量 1,其中$变量表示引用当前任务文件对应的变量,@变量表示引
用上次任务文件对应的变量
Reset_catg 复 位 类 型 , 0 到 达 最 大 值 File_Serial_Max_Value 从
File_Serial_Min_Value 开始 1 每天从 File_Serial_Min_Value 开始 2 每月
从 File_Serial_Min_Value 开始 3 每年从 File_Serial_Min_Value 开始
Crypt_Flag 是否加密。0。不加密 1。加密
Service_Catg_ID 处理业务 ID,如 163,168,互联星空,短信清单等,对应名称在 code_name_t
中定义。
leading_zero_meth
od
加前导零方法。目前只支持两种:当值为 0 时,支持文件头记录数带前导
零的方式,并且此时文件大小参数是取值正确的;当值为 1 时,支持文件
头记录数不带前导零的方式,但此时文件大小参数的取值是不准确的。请
现场做好区分,谨慎使用。
索引
索引类型 索引名称、字段 索引作用
唯一 Datasend_Id
表间关系
更新 SQL
Datasend_Define_Send_T(数据分发分发定义)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Datasend_ID 分发 ID 号 Number(10,0) Not YES
Datasend_Seq_Id 分发目标系列号 Number(2,0) Not YES 0
File_Name_Expre
ssion
文件名表达式 Varchar2(100)Not
Local_Path 本地文件路径 Varchar2(255)Not
Remote_Path 远程目标路径 Varchar2(255)Yes
Remote_Ftp_ID Ftp 服务器 ID Number(9,0) Yes
Backup_Method 备份方式 Number(2,0) Yes 0
Backup_Path 备份路径 Varchar2(255)Yes
Backup_File_Prefi
x
备份文件前缀 Varchar2(50) Yes
Backup_File_Suffi
x
备份文件扩展名 Varchar2(50) Yes
Zip_Command Unix 压缩的命令串 Varchar2(255)Yes
Zip_File_Name_E
xpression
Unix 压缩文件名语法 Varchar2(255)Yes
Idx_Flag 是否生成索引文件 Number(1, 0) Not
Idx_Format 生成索引内容格式 Varchar2(50) Yes
App_Code 应用代码标志 Varchar2(10) Yes
Audit_Flag 是否生成校验文件 Number(1, 0) Not
Audit_File_Name 校验文件名 Varchar2(255)Yes
Destination_ID 分发对象 ID Number(10, 0)Not
字段名 字段含义 类型 空值 主键 外键 缺省值
Idx_Remote_Path 索引文件远程目录路径 VARCHAR2(
255)
Yes
Idx_File_Name 索引文件名 VARCHAR2(
255)
Yes
Audit_format 生成校验内容格式 Varchar2(100)Yes null
表描述
定义数据分发分发的参数。
由原来的分发定义剥离出来,支持生成一个文件并分发到多个主机。主要处理过程:
根据数据生成定义先生成一个临时文件,然后根据目标文件名循环进行文件
复制,全部复制完成后删除临时文件,对每个文件的复制过程中都需要记录
日 志 , 此 时 记 录 state in (0,1) 的 记 录 到 datasend_log_t , 然 后 根 据
datasend_log_t 记录进行文件分发工作,分发成功则把 state 改为 state + 2
表分类
用户:【ls6_para】
数据字典分类: 【数据交换参数(公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 第 4 章 数据分发
字段描述
字段名 字段描述
File_Name_Expres
sion
文件名表达式,Oracle 表达式,如 ur_fix_trunk_$1$.txt
若表达式中引用到变量参数,则以两个’$’(或’@’)包括,如$1$(或@1@)表
示变量 1,其中$变量表示引用当前任务文件对应的变量,@变量表示引
用上次任务文件对应的变量
Backup_Method 备份方式,本地文件上传后处理方式 0 不备份 1 备份至备份目录 2 删除
Zip_Command 定义压缩的命令串,如: compress ds_log_$3$.txt,
若表达式中引用到变量参数,则以两个’$’(或’@’)包括,如$1$(或@1@)表
示变量 1,其中$变量表示引用当前任务文件对应的变量,@变量表示引
用上次任务文件对应的变量
Zip_File_Name_E
xpression
Unix 压缩文件名语法,如:select ds_log_$3$. from dual
若表达式中引用到变量参数,则以两个’$’(或’@’)包括,如$1$(或@1@)表
示变量 1,其中$变量表示引用当前任务文件对应的变量,@变量表示引
用上次任务文件对应的变量
Idx_Flag 是否生成索引文件。0。不生成。 1。要生成
Idx_Format 生成索引内容格式,索引文件内容按行输出,支持输出:文件全路径名,
应用代码,文件大小,文件记录数,文件生成时间,文件 Md5 校验码值。
配置方法:配置参数变量为特殊取值方法,把参数变量的$param_no$按顺
序配置到该字段,用逗号格开。
App_Code 应用代码标志。写入索引文件中,告诉公共平台对应的数据文件的目的地
址。
Audit_Flag 是否生成校验文件,同一个批次生成一个校验文件
Audit_File_Name 校验文件名
Destination_ID 分发对象 ID,包括总部,省中心,各地市,对应名称在 code_name_t 中定
义。
Audit_format 生成校验内容格式,校验文件内容按行输出,每行对应一个文件的信息。
支持输出:文件全路径名,文件名,应用代码,文件大小,文件记录数,
文件生成时间,文件 MD5 校验码值。
配置方法:配置参数变量为对应的取值方法,把参数变量的$param_no$按
想要的顺序配置到该字段,整个格式必须在单引号内。
索引
索引类型 索引名称、字段 索引作用
唯一 Datasend_id+datasend_seq_id
表间关系
datasend_define_t,datasend_define_send_t 一对一或者一对多的关系。
更新 SQL
该表的数据更新,应该手工更新。
Datasend_Param_Method_T(数据分发参数取值
方法定义)
Start:
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Datasend_ID 分发 ID 号 Number(10,0) Not YES
Param_No 参数序号 Number(3,0) Not
Param_Name 参数名 VARCHAR2(30
)
Not YES
Param_Desc 参数描述 VARCHAR2(10
0)
YES
Param_Method 参数方法 Number(3,0) Not
Param_Expression 参数表达式 Varchar2(2000) YES
Persist_Flag 结果保存标志 Number(3,0) Yes 1
Log_Column_Flag 入日志表字段标识 Number(3, 0) Not 0
Region_Id 此处指本地网 id Number(10, 0) Not 0
Db_Type 取该参数的数据库
类型
Number(9, 0) Not 0
End:
表描述
定义数据分发 SQL 语句中所有变量参数的取值方法。
字段描述
字段名 字段描述
Param_Method 取值方法:
1 表达式方法, Oracle 表达式
2 特殊取值方法: 如当前最大流水号、当前帐务周期等需要定义较复杂的
SQL 语句取得对应值
3 校验字段取值方法: 校验字段取值方法在 Datasend_Check_Param_T 中
定义
100 取 Datasend_ID 号
101 取记录最大流水
102 取任务断点
103 取文件记录数
104 取文件状态
105 取帐务月(AcctMonth)
106 取帐务月分区(PidMonth)
107 取帐务日期(AcctDate)
108 取区域分区(ManageRegionId)
120 取文件全路径名
121 取应用代码
122 取文件大小
123 取文件生成时间
124 取文件校验码值
Param_Expression 对于“表达式方法”,若表达式中引用到变量参数,则以两个’$’(或’@’)包括,
如$1$(或@1@)表示变量 1,其中$变量表示引用当前任务文件对应的变量,
@变量表示引用上次任务文件对应的变量,如$1$、@4@+1
对于“特殊取值方法”,如 Select max(ticket_id) from ur_fix_trunk_t
Where partition_id_month in ($9$)
对 于 “ 校 验 字 段 取 值 方 法 ” , 此 字 段 为 空 值 , 具 体 描 述 在
Datasend_Check_Param_T 表中
Persist_Flag 结果保存标志,生成文件后,保存文件对应参数值作为下一文件参数赋值
的依据
0 不保存 1 保存
Log_Column_Flag 入日志表字段标识, 0.不进行特殊日志处理 1.该变量需要入时长字段 2.该
变量需要入费用字段 3.该变量需要入范围开始字段 4. 该变量需要入范围
结束字段
Region_id 此处指本地网 id,如果该值为 0,则使用默认的 sid 连接
Db_type 取对应参数的数据库类型,如果该值为 0,则使用默认的 sid 连接
Datasend_Check_Param_T(数据分发校验参数定
义)
Start:
表结构
字段名 字段含义 类型 空值 主键 外键 缺省
Datasend_ID 分发 ID 号 Number(10,0) Not YES
Param_No 参数序号 Number(3,0) Not
Record_Scope 记录范围 Number(9,0) Not
Field_Of_Record 记录中的字段序号 Number(2,0) Not
Calc_Method 字段取值方法 Number(2,0) Not
Trim_Prefix 修饰前缀 VARCHAR2(50
)
Yes
Trim_Suffix 修饰后缀 VARCHAR2(50
)
Yes
Substr_Offset 截取偏移 Number(3,0) Yes
Substr_Len 截取长度 Number(3,0) Yes
Num_Conv_Rate 数值转换率 Number(9,4) Yes
End:
表描述
定义文件头或文件尾中校验字段的取值方法。
字段描述
字段名 字段描述
Field_Of_Record 记录中的字段序号,从 0 开始
Record_Scope 记录范围,
0.文件内所有记录
1.文件首记录
2.文件尾记录
3.任务内所有记录
4.任务内首记录
5.任务内尾记录
Calc_Method 字段取值方法
0.取原值(ORIG)
1.去掉修饰(TRIM)
2.字符截取(SUBSTR)
3.计数(COUNT)
4.累加(SUM)
Trim_Prefix 修饰前缀,Calc_Method =1 时有效,字段的取值需要去掉字串中的前缀
Trim_Suffix 修饰后缀,Calc_Method =1 时有效,字段的取值需要去掉字串中的后缀
Substr_Offset 截取偏移,Calc_Method =2 时有效,字段的取值从字串开始的位置,从 0
开始,程序通过 Oracle 处理时注意 Oracle 的 substr()偏移从 1 开始
Substr_Offset 截取长度,Calc_Method =2 时有效,字段的取值从偏移开始的长度
Num_Conv_Rate 数值转换率, Calc_Method =3 或 4 时有效,
对于 Count、Sum 取值方法,可能需要对结果进行单位转换,此字段即为
设置单位转换率,如分->元,设为
Datasend_Task_T(数据分发任务定义)
Start:
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Task_ID 任务 ID 号 Number(10,0) Not YES
Description 描述 Varchar2(50) Yes
Scheduler_Catg 交换频度类型 Number(2,0) Not 1
Scheduler_Cycle_Interval 循环秒数 Number(9,0) Yes 0
Scheduler_Miniute 分钟 Varchar2(180) Yes *
Scheduler_Hour 小时 Varchar2(50) Yes *
Scheduler_Date 日期 Varchar2(50) Yes *
Scheduler_Month 月份 Varchar2(50) Yes *
Scheduler_Day 周几 Varchar2(50) Yes *
Datasend_Id 分发 ID 号 Number(9,0) Yes
Eff_Date 生效日期 Date Not sysdate
Expire_Date 失效日期 Date Not
State 状态 0 无效 1 有效 Number(2,0) Not 1
Retry_Times 失败重试次数 Number(6,0) Not
Retry_Interval 重试时间间隔 Number(6,0) Not
End:
索引
索引类型 索引名称、字段 索引作用
Unique Datasend_Task_T_Indx1
(Task_Id,Datasend_Id)
表描述
定义分发任务信息,包括任务执行的时间、任务目标。
字段描述
字段名 字段描述
Scheduler_Catg 交换频度类型,0.及时 1. 定时 2. 周期 3.按需
对于“按需”的情况,由帐务任务调用分发程序来处理
Scheduler_Cycle_I
nterval
循环秒数,周期模式下有效,周期间隔描述
Scheduler_Miniute 分钟,定时模式下有效,逗号分割的数字串或*
Scheduler_Hour 小时,定时模式下有效,逗号分割的数字串或*
Scheduler_Date 日期,定时模式下有效,逗号分割的数字串或*
Scheduler_Month 月份,定时模式下有效,逗号分割的数字串或*
Scheduler_Day 周几,定时模式下有效,逗号分割的数字串或*
Retry_Times 失败重试次数
Retry_Interval 重试时间间隔
Datasend_Log_T(数据分发日志)
表结构
字段名 字段含义 类型 空值 主键 外键 缺省值
Task_ID 任务 ID 号 Number(10,0) Not
Datasend_Id 分发 ID 号 Number(10,0) Not
Datasend_Seq_Id 分发目标系列号 Number(2,0) Not
SQL 取数据的 SQL 语句 Varchar2(400
0)
Not
File_Name 文件名 Varchar2(100)Not
File_Head 文件头 Varchar2(500)Yes
File_Tail 文件尾 Varchar2(500)Yes
字段名 字段含义 类型 空值 主键 外键 缺省值
File_Size 文件大小 Number(9,0) Yes
File_Record_Coun
t
文件记录数 Number(9,0) Yes
Last_Param_Value
s
最新参数值列表 Varchar2(200
0)
Yes
Execute_Time 执行时间 Date Not
State 执行状态 Number(2,0) Not
Err_Code 错误码 Varchar2(20) YES
Err_Info 错误信息 Varchar2(500)YES
Transfer_Rate 文件传输速率 Number(10,2) Yes
Destination_ID 分发对象 ID Number(10, 0)Not
Service_Catg_ID 处理业务 ID Number(10, 0)Not
Duration 时长 Number(15,0) Yes
Charge 费用 Number(15,0) Yes
Scope_Begin 范围开始 Date Yes
Scope_End 范围结束 Date Yes
Acct_Month 帐务月份 CHAR(6) Not
Acct_Date 帐务日期 CHAR(8) Not
Region_Id 区域标识 Number(10) Not
Idx_File_Name 索引文件名 VARCHAR2(
255)
Yes
Task_batch_id 任务批次 Number(12) Yes
表描述
记录每次执行任务的详细日志信息。每生成一个文件,无论成功失败此表均有对应记
录。
表分类
用户:【sid】
数据字典分类: 【数据交换参数(公用)】
文档名称:LS-iBAS_DD_【DataTrans】.doc
对应章节: 【第四章】
应用范围:【BILLING】
字段描述
字段名 字段描述
State 任务状态,0 文件成功&任务未完成 1 文件成功&任务完成 -1 文件失败
Transfer_Rate 文件传输速率,单位 KB/s
Destination_ID 分发对象 ID
Service_Catg_ID 处理业务 ID
Duration 时长
Charge 费用
Scope_Begin 范围开始
Scope_End 范围结束
Acct_Month 帐务月份
Acct_Date 帐务日期
Task_batch_id 任务批次,每次执行数据分发任务可能生成多个文件,但只对应一个批次
索引
索引类型 索引名称、字段 索引作用
index Datasend_Id
表间关系
更新 SQL
该表需要手工更新。