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

news2024/11/25 22:25:11

一、应用背景

目前,针对审计行业,关于大数据技术的相关研究与应用一般包括大数据智能采集数据技术、大数据智能分析技术、大数据可视化分析技术以及大数据多数据源综合分析技术。其中,大数据智能采集数据技术是通过网络爬虫或者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.coloradmin.cn/o/1354779.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构和算法】小行星碰撞

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 什么情况会用到栈 2.2 方法一&#xff1a;模拟 栈 三、代码 3.1 方法一&#xff1a;模拟 栈 四…

单轴PSO视觉飞拍与精准输出:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(七)

XPCIE1032H功能简介 XPCIE1032H是一款基于PCI Express的EtherCAT总线运动控制卡&#xff0c;可选6-64轴运动控制&#xff0c;支持多路高速数字输入输出&#xff0c;可轻松实现多轴同步控制和高速数据传输。 XPCIE1032H集成了强大的运动控制功能&#xff0c;结合MotionRT7运动…

CRYPTO现代密码学学习

CRYPTO现代密码学学习 RC4 加密算法RSA加密解密DES加密解密详解密钥的生成密文的生成 RC4 加密算法 简单介绍&#xff1a;RC4加密算法是一种对称加密算法&#xff0c;加密和解密使用同一个函数 初始化分为以下几个步骤 初始化存储0-255字节的Sbox(其实就是一个数组)填充key到…

金融中IC和IR的定义

当谈到金融领域时&#xff0c;IC&#xff08;Information Coefficient&#xff09;和IR&#xff08;Information Ratio&#xff09;通常是用来评估投资组合管理绩效的指标。它们都涉及到投资者对信息的利用和管理的效果。 信息系数&#xff08;IC - Information Coefficient&a…

使用Go语言采集1688网站数据对比商品价格

目录 引言 一、数据采集原理 二、数据采集流程 三、数据采集代码实现 四、数据分析与比较 五、注意事项 六、结论 引言 随着电子商务的快速发展&#xff0c;越来越多的消费者开始通过在线平台购买商品。在众多电商平台中&#xff0c;1688作为中国最大的批发交易平台&am…

三、C语言中的分支与循环—if语句 (1)

在这一章节中我们的学习内容如下&#xff0c;咱们一步步来。 分支结构 1. if语句 2. 关系操作符 3. 条件操作符 4. 逻辑操作符&#xff1a;&& , || , &#xff01; 5. switch语句 循环结构 6. while循环 7. for循环 8. do-while循环 9. break和conti…

kubeadm创建k8s集群

kubeadm来快速的搭建一个k8s集群&#xff1a; 二进制搭建适合大集群&#xff0c;50台以上。 kubeadm更适合中下企业的业务集群。 部署框架 master192.168.10.10dockerkubelet kubeadm kubectl flannelnode1192.168.10.20dockerkubelet kubeadm kubectl flannelnode2192.168.1…

vue3 + TS + vite 搭建中后台管理系统(完整项目)

vue3 TS vite 搭建中后台管理系统&#xff08;完整项目&#xff09; 前言1、搭建步骤及方法2、集成多种插件功能&#xff0c;实现中后台按需使用3、新手学TS如何快速进入状态、定义TS类型4、layout搭建四款常见风格6、大屏搭建效果5、vue3Ts运营管理系统总结&#xff1a; 前言…

2020年认证杯SPSSPRO杯数学建模C题(第一阶段)抗击疫情,我们能做什么全过程文档及程序

2020年认证杯SPSSPRO杯数学建模 C题 抗击疫情&#xff0c;我们能做什么 原题再现&#xff1a; 2020 年 3 月 12 日&#xff0c;世界卫生组织&#xff08;WHO&#xff09;宣布&#xff0c;席卷全球的冠状病毒引发的病毒性肺炎&#xff08;COVID-19&#xff09;是一种大流行病。…

Mybatis Plus 基础功能 BaseMapper和基础配置以及注解

文章目录 Mybatis Plus导入依赖定义Mapper约定常见配置 Mybatis Plus 导入依赖 官网看一下也行plus官网 spring boot3 版本<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><vers…

易点易动固定资产管理系统集成企业微信,帮助企业全生命周期管理固定资产

在现代企业中&#xff0c;固定资产管理是一项至关重要的任务。固定资产的高效管理可以提高企业的运营效率、降低成本&#xff0c;并确保资产的安全和稳定。然而&#xff0c;传统的固定资产管理方法往往复杂繁琐&#xff0c;容易出现信息不准确、流程不畅和数据不一致的问题。为…

Pikachu--字符型注入(get)

Pikachu--字符型注入&#xff08;get&#xff09; 提交方式是get提交&#xff0c;直接在浏览器地址栏里输入注入语句得出结果 判断注入类型 我们要输入数据库里面有的名字 比如vince 输入1 and 12 错误结果 输入 1 and 11 正确结果 判断为字符型注入 判断字段数 输…

一起玩儿物联网人工智能小车(ESP32)——24. 变量与函数(二)

摘要&#xff1a;本文介绍变量和函数的基本知识 在前面一篇中了解了变量&#xff0c;接着就来了解一下函数。函数是程序中的一个关键概念&#xff0c;它可以简化程序的编写&#xff0c;使代码更加模块化、可复用&#xff0c;提高程序的可读性。其实在之前已经多次遇到函数了&am…

python下载wheel并安装

一、查看当前python 版本兼容信息 pip debug --verbose C:\python\37>pip debug --verbose WARNING: This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command…

探索LinkedIn:使用TypeScript和jsdom库的高级内容下载器

概述 LinkedIn是一个专业的社交网络平台&#xff0c;拥有超过7亿的用户和数以亿计的职位、公司和教育机构的信息。对于数据分析师、市场营销人员、招聘人员和其他对LinkedIn数据感兴趣的人来说&#xff0c;能够从LinkedIn上获取和分析这些信息是非常有价值的。 因此&#xff0…

如何利用Oracle官方网站不登录账号下载和安装非最新版本的JDK(版本自由选择)

一、JDK概述 JDK&#xff08;Java Development Kit&#xff09;是Java开发工具集&#xff0c;是针对Java编程语言的软件开发环境。它包含了Java编译器、JRE&#xff08;Java运行时环境&#xff09;以及其他一些用于开发、调试和测试Java应用程序的工具&#xff0c;是Java开发人…

【日积月累】Java Lambda 表达式

目录 【日积月累】Java Lambda 表达式 1.前言2.语法3.应用场景3.1简化匿名内部类的编写3.1简化匿名内部类的编写3.2简化集合类中的操作3.3实现函数式接口3.4简化多个方法的调用3.5简化异步编程 4.总结5.参考 文章所属专区 日积月累 1.前言 Lambda表达式是一个匿名函数&#…

计算机毕业设计——SpringBoot 房屋销售租赁平台 房屋购物网站(附源码)

1&#xff0c;绪论 1.1 背景调研 在房地产行业持续火热的当今环境下&#xff0c;房地产行业和互联网行业协同发展&#xff0c;互相促进融合已经成为一种趋势和潮流。本项目实现了在线房产平台的功能&#xff0c;多种技术的灵活运用使得项目具备很好的用户体验感。 这个项目的…

微信小程序封装vant 下拉框select 单选组件

先上效果图&#xff1a; 主要是用vant 小程序组件封装的&#xff1a;vant 小程序ui网址&#xff1a;vant-weapp 主要代码如下: 先封装子组件&#xff1a; select-popup 放在 components 文件夹里面 select-popup.wxml: <!--pages/select-popup/select-popup.wxml--> &…

Flume基础知识(三):Flume 实战监控端口数据官方案例

1. 监控端口数据官方案例 1&#xff09;案例需求&#xff1a; 使用 Flume 监听一个端口&#xff0c;收集该端口数据&#xff0c;并打印到控制台。 2&#xff09;需求分析&#xff1a; 3&#xff09;实现步骤&#xff1a; &#xff08;1&#xff09;安装 netcat 工具 sudo yum …