大数据技术在民生资金专项审计中的应用

一、应用背景

目前,针对审计行业,关于大数据技术的相关研究与应用一般包括大数据智能采集数据技术、大数据智能分析技术、大数据可视化分析技术以及大数据多数据源综合分析技术。其中,大数据智能采集数据技术是通过网络爬虫或者WebService接口实现跨部门在线数据交互;大数据的多数据源综合分析技术是目前审计领域应用大数据比较成熟和主流的内容,它是通过对采集来的各行、各业、各类大数据,采用数据查询等常用方法或其他大数据技术方法进行相关数据的综合比对和关联分析,从而可以发现更多隐藏的审计线索。本文以大数据智能采集数据技术和大数据多数据源综合分析技术为例,设计大数据审计案例。

二、方案设计

本次以失业保险基金专项审计为案例,设计大数据审计方案,由下图可以看出,大数据审计的流程是:首先广泛采集不同原始数据;原始数据存在噪声、异常值、缺失值等问题,所以需要对原始数据预处理,方便后面数据分析;接着根据业务需求,选择合适的数据分析模型,数据量大的话可以选择MySQL、oracle、SqlServer等SQL语言对数据进行查询分析,数据量小的话可以选择excel常用的内嵌函数,技术是服务项目的,能解决项目问题的技术就是好技术;最后根据数据分析结果发现审计疑点。
在这里插入图片描述

三、数据采集、预处理

在民生资金审计项目中,要根据审计实施方案明确数据采集范围。失业保险基金审计项目需要采集的数据有业务数据和外部关联数据。业务数据包含相关政策法规、公示公告信息、领取失业补助金明细表、技能提升补贴明细表等,这些数据由被审计单位提供,也可以通过网络爬虫的方式获取政策法规、公示公告等文本信息。外部关联数据包含社保缴费记录、死亡信息、移民境外数据、被判刑收监执行数据等,这些数据包含一些敏感信息,难以直接采集,有的信息需要逐条从相关信息系统查询,给大数据审计工作带来阻力。

1、网络爬虫应用背景

在这里插入图片描述

2、什么是网络爬虫

网络爬虫是一种自动化程序,可以从互联网上抓取数据。爬虫通过HTTP协议与互联网上的服务器进行通信,获取HTML页面或者其他格式的数据。这些数据可以用于各种用途,例如搜索引擎、数据挖掘、舆情监测等。

3、Java中的网络爬虫框架

 Java中有很多优秀的网络爬虫框架,例如Jsoup、HttpClient、WebMagic等。本文将以WebMagic为例,介绍如何使用Java编写一个简单的网络爬虫程序。

4、WebMagic介绍

 WebMagic是一个基于Java开发的分布式网络爬虫框架。它提供了简单易用的API接口,可以方便地进行定制化开发。WebMagic支持多线程下载和分布式处理,并且支持解析HTML、XML和JSON等多种页面格式。

5、WebMagic的基本使用

①、定义一个爬虫类,实现PageProcessor接口,并重写其process方法。②、在process方法中,编写抓取逻辑,包括解析页面、提取数据等操作。③、使用WebMagic提供的选择器(Selector)工具,可以通过CSS选择器、XPath等方式来定位页面元素。④、利用Page对象提供的方法,获取页面数据,并保存到自定义的数据结构中。⑤、在抓取逻辑完成后,将数据输出到文件、数据库或其他目标。

6、具体Java代码实现

package com.nzsjj.service;

import com.nzsjj.entity.Title;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.processor.PageProcessor;
import us.codecraft.webmagic.selector.Selectable;


import java.util.List;
import java.util.Random;

/**
 * 功能:PageProcessor负责解析页面,抽取有用信息,以及发现新的链接
 * 作者:郝xx
 * 单位:xxx审计局
 */

@Service("sxsProcessor")
public class SXSProcessor implements PageProcessor {
    private Logger logger = LoggerFactory.getLogger(this.getClass());
    //xx县人民政府网网址
    static String URL="http://www.xxx.gov.cn/xwzx/gsgg/index.shtml";
    public String getURL(){
        return URL;
    }
    //抓取网站的相关配置,包括编码、抓取间隔、重试次数等
    private Site site=Site.me()
            // 设置字符编码集
            .setCharset("utf-8")
            // 设置线程休眠时间
            .setSleepTime(new Random()
                    .nextInt(20)*1000)
            // 设置Http连接重试次数
            .setRetryTimes(3);
    //process是定制爬虫逻辑的核心接口,在这里编写抽取逻辑
    @Override
    public void process(Page page) {
        String urlNum=null;
        //获取页面页数
        if (URL.contains("index_")){
            urlNum=URL.substring(URL.indexOf("index_")+6,URL.indexOf("index_")+7);
        }else {
            urlNum="0";
        }
        logger.info("爬取南漳县人民政府网公示公告栏第"+(Integer.valueOf(urlNum)+1)+"页类容");
        //解析页面内容
        List<Selectable> nodes = page.getHtml().xpath("//div[@class='content-news']").nodes();

        for (Selectable node:nodes
        ) {
            //通过Xpath解析信息分析xx县人民政府网公示公告模块信息
            //文章名称
            String titleName = node.xpath("//h3[@class='ellipsis']/a/text()").get();
            //文章的详细网址
            String titleUrl=node.xpath("//a/@href").get();
            //发布时间
            String time=node.xpath("//span[@class='time']/text()").get();
            if (titleName==null
//                    || !titleName.contains("技能提升补贴")
//                    || !titleName.contains("稳岗")
//                    || !titleName.contains("失业保险")
            ){
                continue;
            }
             Title title = new Title();
            title.setTitleName(titleName);
            title.setTitleUrl(titleUrl);
            title.setTime(time);
            logger.info(title.toString());


        }
        //页数加一
        Integer pageIndex=Integer.valueOf(urlNum)+1;
        //停止爬虫的条件
        if(pageIndex>100) return;
        //替换掉url中的页数
        if (URL.contains("index_")){
            URL = URL.replace(URL.substring(URL.indexOf("index_"),URL.length()),"index_"+String.valueOf(pageIndex)+".shtml");
        }else {
            URL = URL.replace(URL.substring(URL.indexOf("index"),URL.length()),"index_"+String.valueOf(pageIndex)+".shtml");
        }
        //跳转下一页
        page.addTargetRequest(URL);
    }

    /**
     * 返回site对象
     * site是站点配置 使用Site,me()创建site对象
     * @return
     */
    @Override
    public Site getSite() {
        return site;
    }
}

7、数据分析之前为什么要对原始数据进行预处理?

原始数据往往存在噪声、异常值、缺失值等问题,这些问题会对数据分析结果产生负面影响。通过数据预处理,可以除去噪声和异常值,填补缺失值,提高数据质量。

  • 原始数据

在这里插入图片描述

  • 预处理后的数据
    在这里插入图片描述

四、数据分析

基于多数据源综合分析技术的失业保险基金大数据审计原理就是根据被审计单位提供的受补人员明细,与医保局、社保局、民政、公安等部门数据进行综合分析,从而发现相关审计线索,在此基础上,通过进一步的延伸取证,最终获得审计证据。其原理如图一所示,具体步骤如下:
以相关政策法规为依据 ,将领取失业保险金的人员明细与社保数据、民政数据、公安数据等关联对比分析,判断失业人员领取失业保险金补助的条件是否符合,领取补贴月数是否合规。

  • SQL:
select * from 失业保险金受补明细表,社保数据
where 失业保险金受补明细表.身份证号=社保数据.身份证号
and 失业保险金受补明细表.身份证号=民政数据.身份证号
and  ……
  • EXCEL: vlookup函数

五、应用效果

在审计项目实施过程中,数据组成员根据大数据审计方案,采用网络爬虫方式采集非结构化数据(文本数据),爬虫能够获取全面的获取数据,提高了数据的精准性,同时节约人力和时间,大大提升了工作效率。根据项目具体实施情况,制定合适的数据分析模型,帮助审计人员快速发现审计疑点,在本次失业保险基金专项审计项目中,发现多个审计疑点,其中,苏某、赵某、王某三人在就业期间领取就业补助金,涉及金额共计27,000元。

六、应用特点

  • 优点

    网络爬虫采集数据快速、精准,审计人员操作简单,节省了人力、时间;制定大数据多数据源综合分析技术能够帮助审计人员快速发现审计疑点,缩小审计范围,提高了工作效率。

  • 缺点
    该爬虫程序访问受限。由于该程序部署在本地电脑,只有电脑开机并启动程序时审计人员才能访问该程序。其次,外围数据访问受限,不利于数据关联分析。

七、推广建议

在数据采集过程中。为了使网络爬虫技术更好的应用于审计项目中,需要计算机人员了解审计业务经常需要访问的网站,并对不同的网站进行分析设计出特有的爬虫程序,该程序可根据用户输入的网址选择特定的爬虫方式,这样就扩大了该项技术的应用范围,提高审计工作效率。
在数据应用过程中,审计部门是数据需求的主动方,数据拥有方处于被动配合的地位。想要更好的实现大数据多数据源综合分析技术,需要拥有者和使用者首先进行协商,然后由数据拥有方按照自身的责任和义务对所管理的数据进行业务功能归类,供数据需求方调用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/290584.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux程序、进程以及计划任务(第一部分)

目录 一、程序和进程 1、什么是程序&#xff1f; 2、什么是进程&#xff1f; 3、线程是什么&#xff1f; 4、如何查看是多线程还是单线程 5、进程结束的两种情况&#xff1a; 6、进程的状态 二、查看进程信息的相关命令 1、ps&#xff1a;查看静态的进程统计信息 2、…

WEB:探索开源PDF.js技术应用

1、简述 PDF.js 是一个由 Mozilla 开发的开源 JavaScript 库&#xff0c;用于在浏览器中渲染 PDF 文档。它的目标是提供一个纯粹的前端解决方案&#xff0c;摆脱了依赖插件或外部程序的束缚&#xff0c;使得在任何支持 JavaScript 的浏览器中都可以轻松地显示 PDF 文档。 2、…

git的拉取、提交、合并、解决冲突详细教程

我们在开发中使用git&#xff0c;经常会遇到拉代码&#xff0c;切换分支&#xff0c;提交代码&#xff0c;新建分支&#xff0c;合并代码&#xff0c;解决冲突这些操作&#xff0c;下面我跟大家分享一个好用的git工具来进行这些操作。 首先&#xff0c;我们下载一个git工具 点…

HarmonyOS4 vp单位计算

我们在harmonyOS中设置宽度等单位时 需要在后面写明具体是什么单位 width("100%")这里 我们就写明了是 百分之百 如果不写 直接给数值 width(100)那么 它就会按vp去读 这里就被读为 100vp vp 之前是一种移动端宽度概念 后面鸿蒙重定义了它的概念 计算公式是 px 乘…

实战环境搭建-安装xshell和xftp

安装xshell和xftp的原因是想远程虚拟机&#xff0c;很多时候&#xff0c;直接去操作虚拟机明显不太方便。 所以&#xff0c;我们需要一个能够搭载虚拟机和本地电脑之间的桥梁&#xff0c;哪怕是你们去了企业&#xff0c;也和这个类似&#xff0c;唯一的区别是企业里面更多连接…

Centos 磁盘挂载和磁盘扩容(新加硬盘方式)

步骤总结如下 一、对磁盘进行分区 二、对磁盘进行格式化 三、将磁盘挂载到对应目录 四、做开机自动挂载磁盘 磁盘分区 1.使用命令&#xff1a;fdisk -l 查看磁盘&#xff08;注&#xff1a;正常在Centos7中第一块数据盘标识一般是/dev/sda,第二块数据盘标识一般是/dev/sdb&…

2024年防止内卷和被潜规则,RocketMQ消息中间件实战派上下册上线啦|架构随笔录

2023已经过去啦&#xff0c;作为技术小伙伴一定要做好2024年的规划&#xff0c;只有这样才能够避免内卷和潜规则。 2024年即将是一个重新开始的一年&#xff0c;但是你要说互联网不倦&#xff0c;那是不可能的&#xff0c;就连某大厂都开始走下坡路啦&#xff0c;里面卷的是不…

时间序列平稳性相关检验方法

理解平稳性 一般来说&#xff0c;平稳时间序列是指随着时间的推移具有相当稳定的统计特性的时间序列&#xff0c;特别是在均值和方差方面。平稳性可能是一个比较模糊的概念&#xff0c;将序列排除为不平稳可能比说序列是平稳的更容易。通常不平稳序列有几个特征&#xff1a; …

【Pytorch】学习记录分享13——OCR(Optical Character Recognition,光学字符识别)

[TOC](OCR(Optical Character Recognition,光学字符识别)) 1. OCR资源汇总 OCR(Optical Character Recognition,光学字符识别)指提取图像中的文字信息&#xff0c;通常包括文本检测和文本识别。 文字检测&#xff1a;将图片中的文字区域位置检测出来&#xff08;如图1(b)所示…

怎么寄快递可以便宜一点,怎么领快递优惠券?

随着网购越来越多了&#xff0c;人们对于寄快递的需求也越来越大啦。那么&#xff0c;怎么样寄快递才便宜呢&#xff1f;今天&#xff0c;就让有十年网店经验的小编来告诉你。忒别是最近又临近年关&#xff0c;人民喜悦的心情越来越迫切。亲戚朋友之间互送礼品的往来也越来越密…

C++ 多态向下转型详解

文章目录 1 . 前言2 . 多态3 . 向下转型3.1 子类没有改进父类的方法下&#xff0c;去调用该方法3.2 子类有改进父类的方法下&#xff0c;去调用该方法3.3 子类没有改进父类虚函数的方法下&#xff0c;去调用改方法3.4 子类有改进父类虚函数的方法下&#xff0c;去调用改方法3.5…

【设计模式之美】面向对象分析方法论与实现(二):需求到接口实现的方法论

文章目录 一. 进行面向对象设计1. 划分职责>需要有哪些类2. 定义类及其属性和方法3. 定义类与类之间的交互关系4. 将类组装起来并提供执行入口 二. 如何进行面向对象编程&#xff1f;1. 接口实现2. 辩证思考与灵活应用 【设计模式之美】面向对象分析方法论与实现&#xff08…

【JUC】Volatile关键字+CPU/JVM底层原理

Volatile关键字 volatile内存语义 1.当写一个volatile变量时&#xff0c;JMM会把该线程对应的本地内存中的共享变量值立即刷新回主内存中。 2.当读一个volatile变量时&#xff0c;JMM会把该线程对应的本地内存设置为无效&#xff0c;直接从主内存中读取共享变量 所以volatile…

力扣hot100 二叉树展开为链表 递归 特殊遍历

&#x1f468;‍&#x1f3eb; 题目地址 &#x1f469;‍&#x1f3eb; 参考题解 &#x1f60b; 将左子树插入到右子树上 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* …

基于ssm毕业设计选题系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本毕业设计选题系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…

ubuntu20快速搭建自己的git代码仓库环境

##安装docker groupadd docker apt install docker.io ##用户添加到docker组 sudo usermod -aG docker ${USER} ##用户添加sudo cat /etc/sudoers apt install vim ##sudoers文件权限可以写 chmod uw sudoers vim sudoers ##在root底下添加这行&#xff0c;yym改到自…

Android 项目适配64位架构后,腾讯X5内核加载失败解决方案

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂&#xff0c;风趣幽默"&#xff0c;感觉非常有意思,忍不住分享一下给大家。 &#x1f449;点击跳转到教程 在接入最新腾讯X5内核后&#xff0c;发现初始化会失败&#xff0c;在APP模块的build.gra…

关于设计模式的一点总结

一、GoF 23种设计模式 1.分类 GoF 23种设计模式可分为几类&#xff1a;创建型、结构型和行为型。如下表 分类设计模式创建型单例模式、工厂方法模式、抽象工厂模式、原型模式、建造者模式结构型代理模式、适配器模式、装饰者模式、桥接模式、组合模式、门面模式、享元模式行…

js——json对象相互转化——js基础积累

js——json对象相互转化——js基础积累 需求场景解决步骤1&#xff1a;定义一个变量接收此字段&#xff0c;方便处理解决步骤2&#xff1a; { 外面的双引号要去掉解决步骤3&#xff1a;使用正则去除参数中的\\解决步骤4&#xff1a;如果此参数必须以{开头&#xff0c;以}结尾解…

[C#]C# OpenVINO部署yolov8目标检测模型

【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 YOLOv8 抛弃了前几代模型的 Anchor-Base。 YOLO 是一种基于图像全局信息进行预测的目标检测系统。自 2015 年 Joseph Redmon、Ali Farhadi 等人提出初代模型以来&#xff0c;领域内的研究者们…
最新文章