JS+WCF에서 데이터 로딩을 모니터링하는 방법
이 글에서는 데이터 로딩량을 실시간으로 모니터링하기 위한 진행률 표시줄을 구현하는 JS+WCF 방법을 주로 소개합니다. 실제 예제를 결합하여 프런트엔드 js의 관련 작업 기술과 배경 WCF 상호 작용을 분석합니다. 대용량 데이터를 가져오는 과정에서 로딩 진행 상황을 실시간으로 표시해 주는 것이 필요한 친구들은 다음을 참고하시면 됩니다
본 글의 예시에서는 JS+WCF로 진행률 표시줄을 구현하는 방법을 설명하고 있습니다. 데이터 로딩량을 실시간으로 모니터링하세요. 참고용으로 모두와 공유하세요. 세부 사항은 다음과 같습니다.
Background
프로젝트에서 Memcache로 대량의 데이터를 가져와야 하기 때문에
110,000을 검색하려면 WCF를 사용해야 합니다. 다단계 조인트 쿼리 및 정렬로 인해 데이터가 상대적으로 느립니다(약 1분)
동시에 여기에서 데이터를 처리하고 20,000개의 데이터로 병합한 다음 저장되는데 일정 시간(역시 약 1분)이 소요됩니다
요컨대 이 데이터 가져오기를 완료하는 데 총 1분이 소요됩니다. 약 30초가 소요됩니다
이때 진행 상황을 모니터링하려면 진행률 표시줄이 필요합니다. 완료된 데이터의 양을 실시간으로
(이전에는 동적 그래프를 사용했기 때문에 현재 프로그램의 완료 양을 알 수 없었거나, 멈춰 있는지도 그냥 기다릴 수 있었습니다)
Function
1. 데이터 로딩 및 처리를 위한 스레드 열기
2. 프론트 데스크는 백그라운드 데이터를 실시간으로 읽고
code
view-html
@* 数据准备进度条 *@ <p id="container"> <p class="content"> <h1>数据准备</h1> </p> <!-- Progress bar --> <p id="progress_bar" class="ui-progress-bar ui-container"> <p class="ui-progress" style="width: 3%;"> <span class="ui-label" style="display: none;">完成量<b class="value">3%</b></span> </p> </p> <!-- /Progress bar --> <p class="content" id="main_content" style="display: none;"> <p>数据准备完成!</p> </p> </p>
view-js
$(function () { $('#initialization').click(function () { $.messager.confirm('提示', '是否要进行数据初始化?', function (r) { if (!r) { return; } else { $('#container').show(); var t1 = window.setInterval(process_bar, 1500); } }); }); }); function process_bar() { $.ajax({ type: "POST", async: true, url: "/Paper/LoadData", success: function (result) { $('#progress_bar .ui-progress').animateProgress(result); if (result =="100") { $('#main_content').slideDown(); $('#fork_me').fadeIn(); setTimeout(function () { $('#container').hide();; }, 1500); window.clearInterval(t1); } } }) }
controller를 표시합니다.
static bool flag = true; public int LoadData() { int result = Ipaperbll.LoadDataAmount(); if (flag) { Thread thread = new Thread(new ThreadStart(ThreadLoadData)); thread.Start(); flag = false; } return result; } private void ThreadLoadData() { Ipaperbll.initializeData(); }
Backend
static int load_data_amount;//当前数据准备量 public bool initializeData() { bool flag = false; //定义返回值 //获得数据 //code....code ....code.... load_data_amount = 5;//完成工作量 int page = 0; int amount = 50000;//一次获取数据量不能超过10万 while (page * amount == list.Count) { //code....code ....code.... load_data_amount = load_data_amount + 5; } load_data_amount = 50;//读取数据默认的工作量 double totalamount = list.Count(); foreach (var item in list) { //code....code ....code.... load_data_amount = Convert.ToInt32((1 - (totalamount--) / double.Parse(list.Count().ToString())) * 50) + 50;//根据数据改变的完成工作量 } load_data_amount = 100;//完成工作量 flag = true; return flag; } //返回当前准备数据量 public int LoadDataAmount() { return load_data_amount; }
Problems & Solutions
1. 진행률 표시줄 생성
해결책: 온라인 데모를 사용하세요. CSS+JS는 데이터를 동적으로 생성하고 변경할 수 있습니다. 그게 전부입니다
2. 스레드 문제
해결 방법: 처음에는 스레드를 모니터링하는 데 사용되다가 나중에 스레드를 사용하여 데이터를 처리하도록 변경되었습니다
3. 실시간 모니터링 문제
해결 방법: 데이터를 처리하는 데 사용되는 스레드가 실행됩니다. 자동으로 프론트 데스크에서 ajax가 사용됩니다. 백그라운드에서 load_data_amount 변수를 지속적으로 쿼리합니다
4. Ajax 오류 보고 문제
반환 값의 유형과 result 또는 result.d인지 주의하세요. 상황마다 다릅니다
5. 데이터 유형 문제
해결 방법: 데이터 읽기 완료율은 완료 금액/전체 금액을 사용하여 구합니다. 여기서 숫자는 int 유형이 견딜 수 없기 때문에 항상 잘못됩니다. 110,000 이하의 소수점 연산을 사용할 수 있습니다
Summary
원래는 스레드를 열고, 변수를 추가하고, 프론트 데스크로 돌아가서 진행률 표시줄을 추가하고, 변수를 읽어올 생각이었습니다. 괜찮았는데
그런데 그 중간에 이번 MVC, 이번 Spring, 이번 인터페이스, 그리고 이전 방식의 여러 불편한 점들과 그 아래의 연산들, ajax... 하나하나 해결하고 드디어 해결했습니다
분할해서 정복하고, 하나씩 해결하고, 테스트해보세요
또한 프레임워크와 협력은 편리함을 가져오지만, 중간의 한계와 버그는 효율성을 떨어뜨리기도 합니다. 위의 내용이 여러분에게 도움이 되기를 바랍니다. 앞으로도 다들.
관련 기사:
동적으로 추가된 요소가 바인딩 이벤트를 트리거할 수 없는 문제를 해결하기 위해 jQuery를 사용하는 방법Node에서 Excel 콘텐츠를 가져오는 방법노드의 중간 서비스 계층에 요청을 보내는 방법 (자세한 튜토리얼)위 내용은 JS+WCF에서 데이터 로딩을 모니터링하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











DDREASE는 하드 드라이브, SSD, RAM 디스크, CD, DVD 및 USB 저장 장치와 같은 파일 또는 블록 장치에서 데이터를 복구하기 위한 도구입니다. 한 블록 장치에서 다른 블록 장치로 데이터를 복사하여 손상된 데이터 블록은 남겨두고 양호한 데이터 블록만 이동합니다. ddreasue는 복구 작업 중에 간섭이 필요하지 않으므로 완전히 자동화된 강력한 복구 도구입니다. 게다가 ddasue 맵 파일 덕분에 언제든지 중지하고 다시 시작할 수 있습니다. DDREASE의 다른 주요 기능은 다음과 같습니다. 복구된 데이터를 덮어쓰지 않지만 반복 복구 시 공백을 채웁니다. 그러나 도구에 명시적으로 지시된 경우에는 잘릴 수 있습니다. 여러 파일이나 블록의 데이터를 단일 파일로 복구

0. 이 글은 어떤 내용을 담고 있나요? 우리는 다재다능하고 빠른 최첨단 생성 단안 깊이 추정 모델인 DepthFM을 제안합니다. DepthFM은 전통적인 깊이 추정 작업 외에도 깊이 인페인팅과 같은 다운스트림 작업에서 최첨단 기능을 보여줍니다. DepthFM은 효율적이며 몇 가지 추론 단계 내에서 깊이 맵을 합성할 수 있습니다. 이 작품을 함께 읽어보아요~ 1. 논문 정보 제목: DepthFM: FastMoncularDepthEstimationwithFlowMatching 저자: MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

Excel에서 여러 기준으로 필터링을 사용하는 방법을 알아야 하는 경우 다음 자습서에서는 데이터를 효과적으로 필터링하고 정렬할 수 있는 단계를 안내합니다. Excel의 필터링 기능은 매우 강력하며 많은 양의 데이터에서 필요한 정보를 추출하는 데 도움이 될 수 있습니다. 이 기능을 사용하면 설정한 조건에 따라 데이터를 필터링하고 조건에 맞는 부분만 표시하여 데이터 관리를 더욱 효율적으로 할 수 있습니다. 필터 기능을 사용하면 대상 데이터를 빠르게 찾을 수 있어 데이터 검색 및 정리에 드는 시간을 절약할 수 있습니다. 이 기능은 단순한 데이터 목록에만 적용할 수 있는 것이 아니라, 여러 조건에 따라 필터링하여 필요한 정보를 보다 정확하게 찾을 수 있도록 도와줍니다. 전반적으로 Excel의 필터링 기능은 매우 실용적입니다.

Google이 추진하는 JAX의 성능은 최근 벤치마크 테스트에서 Pytorch와 TensorFlow를 능가하여 7개 지표에서 1위를 차지했습니다. 그리고 JAX 성능이 가장 좋은 TPU에서는 테스트가 이루어지지 않았습니다. 개발자들 사이에서는 여전히 Tensorflow보다 Pytorch가 더 인기가 있습니다. 그러나 앞으로는 더 큰 모델이 JAX 플랫폼을 기반으로 훈련되고 실행될 것입니다. 모델 최근 Keras 팀은 기본 PyTorch 구현을 사용하여 세 가지 백엔드(TensorFlow, JAX, PyTorch)와 TensorFlow를 사용하는 Keras2를 벤치마킹했습니다. 첫째, 그들은 주류 세트를 선택합니다.

지연이 발생하고 iPhone의 모바일 데이터 연결 속도가 느립니까? 일반적으로 휴대폰의 셀룰러 인터넷 강도는 지역, 셀룰러 네트워크 유형, 로밍 유형 등과 같은 여러 요소에 따라 달라집니다. 더 빠르고 안정적인 셀룰러 인터넷 연결을 얻기 위해 할 수 있는 일이 몇 가지 있습니다. 수정 1 – iPhone 강제 다시 시작 때로는 장치를 강제로 다시 시작하면 셀룰러 연결을 포함한 많은 항목이 재설정됩니다. 1단계 – 볼륨 높이기 키를 한 번 눌렀다가 놓습니다. 그런 다음 볼륨 작게 키를 눌렀다가 다시 놓습니다. 2단계 - 프로세스의 다음 부분은 오른쪽에 있는 버튼을 누르는 것입니다. iPhone이 다시 시작되도록 하세요. 셀룰러 데이터를 활성화하고 네트워크 속도를 확인하세요. 다시 확인하세요 수정 2 – 데이터 모드 변경 5G는 더 나은 네트워크 속도를 제공하지만 신호가 약할 때 더 잘 작동합니다

얼굴 검출 및 인식 기술은 이미 상대적으로 성숙하고 널리 사용되는 기술입니다. 현재 가장 널리 사용되는 인터넷 응용 언어는 JS입니다. 웹 프런트엔드에서 얼굴 감지 및 인식을 구현하는 것은 백엔드 얼굴 인식에 비해 장점과 단점이 있습니다. 장점에는 네트워크 상호 작용 및 실시간 인식이 줄어 사용자 대기 시간이 크게 단축되고 사용자 경험이 향상된다는 단점이 있습니다. 모델 크기에 따라 제한되고 정확도도 제한됩니다. js를 사용하여 웹에서 얼굴 인식을 구현하는 방법은 무엇입니까? 웹에서 얼굴 인식을 구현하려면 JavaScript, HTML, CSS, WebRTC 등 관련 프로그래밍 언어 및 기술에 익숙해야 합니다. 동시에 관련 컴퓨터 비전 및 인공지능 기술도 마스터해야 합니다. 웹 측면의 디자인으로 인해 주목할 가치가 있습니다.

세상은 미친 듯이 큰 모델을 만들고 있습니다. 인터넷의 데이터만으로는 충분하지 않습니다. 훈련 모델은 '헝거게임'처럼 생겼고, 전 세계 AI 연구자들은 이러한 데이터를 탐식하는 사람들에게 어떻게 먹이를 줄지 고민하고 있습니다. 이 문제는 다중 모드 작업에서 특히 두드러집니다. 아무것도 할 수 없던 시기에, 중국 인민대학교 학과의 스타트업 팀은 자체 새로운 모델을 사용하여 중국 최초로 '모델 생성 데이터 피드 자체'를 현실화했습니다. 또한 이해 측면과 생성 측면의 두 가지 접근 방식으로 양측 모두 고품질의 다중 모드 새로운 데이터를 생성하고 모델 자체에 데이터 피드백을 제공할 수 있습니다. 모델이란 무엇입니까? Awaker 1.0은 중관촌 포럼에 최근 등장한 대형 멀티모달 모델입니다. 팀은 누구입니까? 소폰 엔진. 런민대학교 힐하우스 인공지능대학원 박사과정 학생인 Gao Yizhao가 설립했습니다.

이번 주, 오픈AI(OpenAI), 마이크로소프트(Microsoft), 베조스(Bezos), 엔비디아(Nvidia)가 투자한 로봇 회사인 FigureAI는 약 7억 달러의 자금 조달을 받았으며 내년 내에 독립적으로 걸을 수 있는 휴머노이드 로봇을 개발할 계획이라고 발표했습니다. 그리고 Tesla의 Optimus Prime은 계속해서 좋은 소식을 받았습니다. 올해가 휴머노이드 로봇이 폭발하는 해가 될 것이라는 데는 누구도 의심하지 않는다. 캐나다에 본사를 둔 로봇 회사인 SanctuaryAI는 최근 새로운 휴머노이드 로봇인 Phoenix를 출시했습니다. 관계자들은 이 로봇이 인간과 같은 속도로 자율적으로 많은 작업을 완료할 수 있다고 주장한다. 인간의 속도로 자동으로 작업을 완료할 수 있는 세계 최초의 로봇인 Pheonix는 각 물체를 부드럽게 잡고 움직이며 우아하게 왼쪽과 오른쪽에 배치할 수 있습니다. 자동으로 물체를 식별할 수 있습니다.
