精华内容
下载资源
问答
  • 透过四个案例,我们可以清楚的了解运用由FC、NAS以及DAS系统等不同方案组合而成的异质化存储环境,绝对能够为企业使用者节省建置及更新企业存储环境的成本,并为企业带来可观的利益。
  • 手把手教 | 网络时空大数据爬取与分析DAS系统(瓦片地图获取) 原创DAS Team双评价DAS 地理计算语言,为大众赋能地理智慧。 ——DAS Team 爬取分析DAS系统下载 地址: ...Tips:爬取分析DAS系统已于7月15日进行...

    手把手教 | 网络时空大数据爬取与分析DAS系统(瓦片地图获取)

    原创 DAS Team 双评价DAS 

    地理计算语言,为大众赋能地理智慧。

    ——DAS Team

    爬取分析DAS系统下载

    地址:

    https://pan.baidu.com/s/12MLx3vt-ctNPr6HZ3CumbA

    提取码:3vxx

    地址:

    https://pan.baidu.com/s/1NkoyFhzMtm13ivlOOzukow 

    提取码:6ky8

     

    Tips:爬取分析DAS系统已于7月15日进行更新。目前的DAS系统支持ArcGIS 10.2-10.8、Word 2010以上的所有版本。

    什么是瓦片地图

    在使用地图时,有时我们需要看宏观的地图信息(如世界地图里每个国家的国界),有时又要看很微观的地图信息(如导航时道路的路况信息),为此,需要提供不同尺度、不同信息含量的地图给不同用户。WMS(Web Map Service)正是解决这一问题的方案,其核心就是在服务器端把地图渲染成图片,浏览器端显示图片,地图图片大小根据浏览器视窗大小确定。

    瓦片(Tile)地图是不同等级下的切片地图,是一种多分辨率金字塔式的层次模型。一般把缩放级别最高、地图比例尺最大的地图图片作为金字塔的底层。分块时从地图图片的左上角开始,从左至右、从上到下进行切割,按每2x2像素合成为一个像素的方法生成上1层地图图片,如此下去,构成整个瓦片金字塔。每一个缩放级别包含的瓦片数量为4的n次方,其中n为缩放级别。如:缩放级别0包含1张瓦片,缩放级别1包含4张瓦片,缩放级别2包含16张瓦片,依此类推。

     

    为什么使用瓦片

    地图的瓦片数量是随缩放级别按指数增长的,每提高一个缩放级别会增加大量的地图细节,对带宽和存储空间的需求也会相应增加。目前,越来越多的地图服务用到瓦片技术,切片之后的地图瓦片是栅格图像,优势明显:

    • 缓存非常高效。如果曾查看过某地的瓦片,需要再次显示时,浏览器可以使用之前缓存的相同瓦片,而不是重新再次下载。
    • 可以渐进加载。可随时移动或缩放地图到某一个特定点,即使当前级别地图的边缘部分还没有加载完成。
    • 简单易用。描述瓦片地图的坐标系统具有简单的数学对应关系,这使得很容易在服务器、网络、桌面或移动设备上实现技术集成和瓦片调用。

    DAS系统瓦片地图获取关键词

    关键词:KX_BD_GetTile

    输入图层:采集范围

    输出结果:瓦片地图

    控制参数:图商代码|瓦片级别#{样式}|{矫正方法#重采样方法}|{起始序号}

    参数说明:

    • 图商代码:网络地图服务提供商(如百度地图,谷歌地图)的代码,如下图所示。

     

    • 瓦片级别:代表瓦片的分辨率或比例尺,级别越低,比例尺越小,信息越少;级别越高,比例尺越大,信息越多,不同网络地图提供商所提供电子瓦片地图的级别不同。下图为百度地图级别与分辨率、比例尺的关系。

     

    • 地图类型:地图所表示的地物类型以及所表示的样式,不同网络地图服务商所提供的地图类型不同,通常包括遥感影像图,全要素地图,道路图,注记图等内容,详见“图商代码”图。
    • 矫正方法:瓦片地图进行地理配准所采用的方法,包括0次到3次多项式方法,缺省为P1。
    • 重采样方法:矫正后的电子地图进行重新采用所使用的方法,包括最邻近法(Nearest),双线性内插法(Bilinar)、三次卷积法(Cubic)、重采样法(Majority)等,缺省为B。

    示例任务及G语言实现

    示例任务

    1、全要素电子地图的获取、地理配准与制图

    2、遥感影像的获取、地理配准与制图

    3、道路、注记等电子地图的获取、地理配准与制图

    4、不同样式电子地图的的获取、地理配准与制图

    G语言实现步骤

    1、提取采集范围内的道路信息:KX_BD_GETLOI(J|1,2,3,4,5,6|1#6)

    2、根据时速对道路进行重分类:KX_Reclass(Speed,SClass_S,0#1:<=30|2:30-35|3:35-40|4:40-50|5:>50)

    3、提取谷歌全要素地图:KX_BD_GetTile(GG|16#QYS|P1#B)

    4、制作专题图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    5、提取百度全要素地图:KX_BD_GetTile(BD|16#QYS|P1#B)

    6、制作专题图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    7、提取高德全要素地图:KX_BD_GetTile(GD|16#QYS|P1#B)

    8、制作专题图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    9、提取高德简化全要素地图:KX_BD_GetTile(GD|16#QYS2|P1#B)

    10、制作专题图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    11、提取高德影像地图:KX_BD_GetTile(GD|16#YX|P1#B)

    12、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    13、提取高德道路+注记地图:KX_BD_GetTile(GD|16#DLZJ|P1#B)

    14、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    15、提取高德道路地图:KX_BD_GetTile(GD|16#DL|P1#B)

    16、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    17、提取高德简化道路地图:KX_BD_GetTile(GD|16#DL2|P1#B)

    18、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    19、提取高德注记:KX_BD_GetTile(GD|16#ZJ|P1#B)

    20、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    21、提取谷歌影像:KX_BD_GetTile(GG|16#YX|P1#B)

    22、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

    23、提取谷歌影像+注记:KX_BD_GetTile(GG|16#YXZJ|P1#B)

    24、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

    25、提取谷歌注记:KX_BD_GetTile(GG|16#ZJ|P1#B)

    26、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

    27、提取谷歌地形:KX_BD_GetTile(GG|16#DX|P1#B)

    28、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

    29、提取ArcGIS夜色图:KX_BD_GetTile(AG|16#YS|P1#B)

    30、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

    31、提取ArcGIS灰色图:KX_BD_GetTile(AG|16#HS|P1#B)

    32、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

    33、提取ArcGIS彩色图:KX_BD_GetTile(AG|16#CS|P1#B)

    34、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    35、提取ArcGIS暖色图:KX_BD_GetTile(AG|16#NS|P1#B)

    36、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

    37、提取百度清新蓝风格(light)地图:KX_BD_GetTile(BD|16#light|P1#B)

    38、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

    39、提取百度黑夜风格(dark)地图:KX_BD_GetTile(BD|16#dark|P1#B)

    40、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    41、提取百度红色警戒风格(redalert)地图:KX_BD_GetTile(BD|16#redalert|P1#B)

    42、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    43、提取百度精简风格(googlelite)地图:KX_BD_GetTile(BD|16#googlelite |P1#B)

    44、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    45、提取百度自然绿风格(grassgreen)地图:KX_BD_GetTile(BD|16#grassgreen|P1#B)

    46、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    47、提取百度午夜蓝风格(midnight)地图:KX_BD_GetTile(BD|16#midnight|P1#B)

    48、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    49、提取百度浪漫粉风格(pink)地图:KX_BD_GetTile(BD|16#pink|P1#B)

    50、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    51、提取百度青春绿风格(darkgreen)地图:KX_BD_GetTile(BD|16#darkgreen|P1#B)

    52、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    53、提取百度清新蓝绿风格(bluish)地图:KX_BD_GetTile(BD|16#bluish|P1#B)

    54、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

    55、提取百度高端灰风格(grayscale)地图:KX_BD_GetTile(BD|16#grayscale |P1#B)

    56、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

    57、提取百度强边界风格(hardedge)地图:KX_BD_GetTile(BD|16#hardedge |P1#B)

    58、制作专题地图:KX_Mapping(CJFW, *Map,ROAD_CLASS|区界|200|1|*)

     

    完整的G语言代码

           

    展开全文
  • 手把手教 | 网络时空大数据爬取与分析DAS系统(街景图片采集与绿视率分析) 原创 DAS Team 双评价DAS 7月2日 地理计算语言,为大众赋能地理智慧。 ——DAS Team 爬取分析DAS系统下载 地址: ...提取码:3vxx ...

    手把手教 | 网络时空大数据爬取与分析DAS系统(街景图片采集与绿视率分析)
    原创 DAS Team 双评价DAS 7月2日

    地理计算语言,为大众赋能地理智慧。
    ——DAS Team
    爬取分析DAS系统下载
    地址:
    https://pan.baidu.com/s/12MLx3vt-ctNPr6HZ3CumbA
    提取码:3vxx
    Tips:目前的DAS系统支持ArcGIS 10.2-10.8、Word 2010以上的所有版本。
    什么是街景图片
    街景图片是一种实景地图服务,通过城市街道的360度全景图像为用户提供更加真实准确、更富画面细节的地图浏览体验。通过街景,用户坐在电脑前就可以真实看到街道上的真实情景,是旅游、驾驶、浏览的好工具。
    国内常见的街景图像有百度街景(BaiduStreet View)和腾讯街景(Tencent Street View),当用户在使用街景地图时,可以看到街道绿化、餐饮、娱乐等情况。
    在这里插入图片描述
    什么是绿视率
    绿视率(Green Looking Ratio)指人们眼睛所看到的物体中绿色植物所占的比例,它强调立体的视觉效果。
    在常用的指标中,“绿地率”、“绿化覆盖率”、“绿容率”等多从鸟瞰的视角出发,计算“绿”的各种维度与土地面积的关系。绿视率跳出了这个框架,完全从行人的视角、城市空间的维度评估城市街道的绿量,其代表了城市绿化的更高水准。

    “绿视率”是人对环境感知的指标,并且随时间和空间的变化而不断变化,是一个动态的衡量因素,它侧重的是绿化的立体构成,更贴近人们的生活,同时为城市景观绿化设计提供了新思路,真正实现了景观绿化设计中“以人为本”的设计思想,具有现实的指导意义。
    DAS系统绿视率分析思路
    1、获取指定道路街景图片采样点;
    2、根据指定的方向、角度,获取各采样点街景图片;
    3、采用模式识别与深度学习方法,提取各街景图中的植被信息,计算图片绿视率;
    4、根据各方向、角度的图片绿视率,计算采样点整体绿视率。
    网络地图秘钥申请
    点击:《手把手教 | 网络时空大数据爬取与分析DAS系统(兴趣点数据采集分析)》,详见文中“网络地图秘钥申请”部分。
    DAS系统采样点布设及街景图片采集关键词
    采样点布设
    关键词:KX_BD_GetStreetPT
    输入图层:道路矢量图层
    输出图层:采样点点状图层
    控制参数:筛选条件|采样距离,名称字段,{方向}
    参数说明:
     筛选条件:提取道路
     采样距离:采样点沿道路的布设间距
     名称字段:采样点名称字段
     方向:1为逆向
    示例:Name|双清路,200,Name,1,实现的功能为沿双清路、以200米间隔采样,采样点字段名称为Name,沿道路逆向,采样点信息存储在shp文件中。
    街景图片采集
    关键词:KX_BD_GetStreetPic
    输入图层:采样点矢量图层
    输出结果:表格街景图
    控制参数:地图类型|拍摄方位角列表|镜头视角#{镜头俯仰角}|图片大小|{最多显示图片}
    参数说明:
     地图类型:GD-高德地图,BD-百度地图,申请的秘钥在MapKey.txt
     拍摄方位角列表:可为数值方位角或前(q),后(h),左(z),右(y)
     镜头视角#{镜头俯仰角}:镜头俯仰角缺省值为0
     图片大小:宽度#高度#插入高度(像素为单位)
     {最多显示图片}:在表格中可插入的图片最大数量,缺省时插入所有图片
    示例:BD|0|90#10|1024#512#6,实现的功能为获取百度街景中采样点前方街景图,镜头视角为90,镜头俯仰角为10,图片大小1024*512像素,每个采样点最多获取6张图片;对于每张街景图,采用模式识别方式同步提取图片中的绿化面积。
    示例任务及G语言实现
    任务
    1、在高德地图获得指定范围的道路数据,制作专题图;
    2、在指定道路按400米间隔获得街景图片采样点数据,制作专题图;
    3、在百度地图根据采样点位置信息获取前方向的街景图;
    4、采用模式识别与深度学习方法提取各街景图中的植被信息,计算绿视率;
    5、将街景图以及街景图识别数据插入表格;
    6、根据各采样点的绿视率,制作绿视率分布专题图;
    7、根据各采样点的绿视率,制作绿视率统计图。
    G语言实现步骤
    1、从高德地图提取指定范围内道路:KX_BD_GETLOI(GD|4,5,6|1)
    2、制作道路专题图:*KX_Mapping( CJFW,ROAD |区界|200|1|)
    在这里插入图片描述

    3、在获取的道路中,按400米间隔获取街景图片采样点:KX_BD_GetStreetPT(Name|双清路,400,Name,1)
    4、制作道路、采样点专题图:KX_Mapping( CJFW,ROAD,StreetPT|区界|200|1|*)
    在这里插入图片描述

    5、根据采样点获取街景图片并逐图自动计算绿视比例:KX_BD_ GetStreetPic (BD|前|90#10|1024#512#6)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    6、依据采样点绿视率对采样点进行重分类:KX_Reclass(GreenRatio,GRLevel_S,0#1:<=20|2:20-40|3:40-50|4:>50)
    7、制作道路、采样点绿视率专题图:KX_Mapping( CJFW,ROAD,GRatio|区界|200|1|FID=0)
    在这里插入图片描述
    8、制作采样点绿视率统计图:**KX_EF_Chart(name|FID#GreenRatio|3# g_w,F2,
    |绿视率# g_g4#2#*|-N1)

    在这里插入图片描述
    完整的G语言计算过程

    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    初识 | 网络时空大数据爬取与分析DAS系统
    手把手教 | 网络时空大数据爬取与分析DAS系统(兴趣点数据采集分析)
    手把手教 | 网络时空大数据爬取与分析DAS系统(兴趣线数据采集分析)
    手把手教 | 网络时空大数据爬取与分析DAS系统(兴趣面数据采集分析)
    手把手教 | 网络时空大数据爬取与分析DAS系统(街景图片采集与绿视率分析)
    疫情当下,你我同行 || DAS.中国NCP疫情时空分析系统
    在这里插入图片描述

    展开全文
  • 用户无需编程能力,无需熟悉GIS...普通用户可自行构建复杂的地理数据处理系统,提升业务或科学研究工作效率;基于Word文档进行知识的组织,实现知识的完整表达、可复用与快速传播;提升科技研究成果向生产力的高效转换
  • 基于地理计算语言G语言的大数据分析方法。用G语言在文档下编写数据获取及处理程序,这类文档称为智能文档,形成的系统称为DAS
  • das系统检查记录(2014.12.04)

    千次阅读 2014-12-04 11:20:56
    .das 1.0 .gyb trunk .gyb2   dxi_ddd.conf配置错误 dxi_ddd.conf关于门店的规则配置存在以下问题: ---缺少orgid字段。 ---的配置中orgid=10007,不应该是固定的常量,应该用@orgid的形式 实际...

    1.服务器


    1.1日志分析

    现象1:tb_1045主键冲突

    [2014-12-01 05:00:38:425][线程7188][2][20][0][]CBBoxPlugin::HandleInput_i 处理消息7:2800(source:1 10009,dest:8 0)...
    [2014-12-01 05:00:38:441][线程7188][1][20][0][]************CBBoxPlugin::HandleInput_i()返回0.
    [2014-12-01 05:00:38:441][线程7188][2][20][0][]正在处理:接收发送队列数据协议(7:2800,S=1:10009,D=8:0,cmdserial=0)...
    [2014-12-01 05:00:38:441][线程7188][4][20][0][]接收到2800[,,,,1045,0100,10009]
    [2014-12-01 05:00:38:441][线程7188][1][20][0][]正在处理机构10009的单据0100...
    [2014-12-01 05:00:38:441][线程7188][5][20][0][]CDbAccessor2::Execute insert into tb_1045(ORGID,F001V_1045,F002V_1045,F003V_1045,STATUS,MODIFY_TIME) values (10009,'0100','配送中心','深圳市宝安区沙井镇芙蓉工业区芙蓉三路',0,'2014-12-01 05:00:01');产生异常(Error
    Code = 80040e2f
    Code meaning = IDispatch error #3119
    Source = Microsoft OLE DB Provider for SQL Server
    Description =违反了 PRIMARY KEY 约束 'PK_tb_1045'。不能在对象 'dbo.tb_1045' 中插入重复键。
    ([1]Number:0X80040E2F Description:违反了 PRIMARY KEY 约束 'PK_tb_1045'。不能在对象 'dbo.tb_1045' 中插入重复键。 SQLState:23000 NativeError:2627[2]Number:0X80040E2F Description:语句已终止。 SQLState:01000 NativeError:3621)).
    [2014-12-01 05:00:38:441][线程7188][1][20][0][]CDxkChangeLog::HandleBillAccept...
    [2014-12-01 05:00:38:441][线程7188][1][20][0][]HandleLogRecord正在处理:sheet_type=1045,rule_id=1045,app_pk=F001V_1045=C[0100]...
    [2014-12-01 05:00:38:441][线程7188][1][20][0][]CTask::Run ...
    [2014-12-01 05:00:38:441][线程7188][1][20][0][]执行GetData...
    [2014-12-01 05:00:38:456][线程7188][1][20][0][]CTask::GetData 耗时0.02秒.
    [2014-12-01 05:00:38:456][线程7188][4][20][0][]没有查找到数据.
    [2014-12-01 05:00:38:456][线程7188][1][20][0][]CDxkChangeLog::HandleBillAccept ok.

     

    这里有2个问题(1)tb_1045主键冲突 (2)没有查找到数据(都提示冲突了怎么会找不到数据呢)

    (1)tb_1045主键冲突时因为每日全部重传门店资料。出现此错误时会根据主键冲突处理方式自动处理,如进行更新。
    出现此错误属于正常情况。

    主键冲突处理方式配置

    lm.conf
    <on_duplicate_key> <!-- 主键冲突处理方式 忽略-1,继续尝试-2,更新-3 默认:3 -->

     (2)没有查找到数据:是会因为配置错误,导致执行的查询不是预期的

    [2014-12-01 05:00:38:456][线程7188][4][20][0][]没有查找到数据.

    执行的sql是:
    select 
      bizcode as bizstoreid,
      f001v_1045 as shopid,
      f002v_1045 as name,
      f003v_1045 as address,
      provincename as provincename,
      cityname as cityname,
      status as status,
      opendate as opendate,
      closedate as closedate
      from tb_1045 a,tb_jxjorgcode b
    where  f001v_1045='0100' and a.orgid=10007
    and a.orgid=b.orgid 

    门店的信息是10009的,但查询时10007的。


    现象2:tb_0045错误的删除

    [2014-12-01 06:01:33:144][线程2900][5][20][0][]CDbAccessor2::Execute delete from tb_1045 where F001V_1045='Y003'产生异常(Error
    Code = 80004005
    Code meaning = 未指定的错误
    Source = Microsoft OLE DB Provider for SQL Server
    Description =事务(进程 ID 57)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。
    ([1]Number:0X80004005 Description:事务(进程 ID 57)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。 SQLState:40001 NativeError:1205)).
    [2014-12-01 06:01:33:144][线程2900][2][20][0][]"接收发送队列数据协议"(2800,cmdserial=0)处理完成,返回值:-1,结果消息个数:0

    语句
    delete from tb_1045 where F001V_1045='Y003'
    有逻辑错误。
    门店是零售商自行编码的,必须用orgid,f001v_1045唯一区分。否则,2个零售商门店编码(f001v_1045)相同时会导致破坏数据。

    ****调整配置(tb_1031及抽取)
    正确的语句应当如下:
    delete from tb_1045 where F001V_1045='Y003' and orgid=?
    ---利用索引可以降低死锁几率


    现象3:tb_0030主键冲突

    [2014-12-01 07:06:28:659][线程7276][2][20][0][]CBBoxPlugin::HandleInput_i 处理消息7:2800(source:1 10009,dest:8 0)...
    [2014-12-01 07:06:28:659][线程7276][1][20][0][]************CBBoxPlugin::HandleInput_i()返回10.

    [2014-12-01 07:06:28:659][线程7276][5][20][0][]CDbAccessor2::Execute insert into TB_0030(src_type,src_id,dest_type,dest_id,f003v_0030,f005d_0030) values(1,10009,8,0,'1,10009,1,1,224739','2014-12-01 07:06:28')产生异常(Error
    Code = 80040e2f
    Code meaning = IDispatch error #3119
    Source = Microsoft OLE DB Provider for SQL Server
    Description =不能在具有唯一索引 'ui_0030_2' 的对象 'dbo.TB_0030' 中插入重复键的行。
    ([1]Number:0X80040E2F Description:不能在具有唯一索引 'ui_0030_2' 的对象 'dbo.TB_0030' 中插入重复键的行。 SQLState:23000 NativeError:2601[2]Number:0X80040E2F Description:语句已终止。 SQLState:01000 NativeError:3621)).
    [2014-12-01 07:06:28:659][线程7276][2][20][0][]CBBoxPlugin::HandleSend 处理消息7:810(source:8 0,dest:1 10009)...
    [2014-12-01 07:06:28:659][线程7276][1][20][0][]ConnectorEventInfo消息队列个数:1.
    [2014-12-01 07:06:28:659][线程7276][1][20][0][][thread 7276]file:e:\svn\workdb\供应宝\hotfox\trunk\scheduler.cpp line:144
    [2014-12-01 07:06:28:659][线程7276][2][20][0][](task_id=27)已处理消息7:2800(priority:1),从(1:10009)到(8:0),包大小:2675字节.处理结果:10

     ui_0030_2是建立在f003v_0030(确认记录键)上的唯一索引.b_0030是不应该有插入f003v_0030重复记录的情况.

    int CBBoxPlugin::HandleInput(CWrappedMsg<> *pwm,void **pploc,int &action)  {
     int ret = -1;
     try {
      CMsg *msg = pwm->GetMsg();
      bool do_ack = msg->IsAutoAck(); ///< 包含msg->IsAck2
      ret = HandleInput_i(pwm,pploc,action);
      nlogger_->log(LO_STDOUT|LO_FILE,SEVERITY_DEBUG,"************CBBoxPlugin::HandleInput_i()返回%d.\n",ret);
      /// ret: 0-交给插件处理 其它值:错误 (<0)或者转发(>0)
      SEMQ_ACK_HELPER *ah = (SEMQ_ACK_HELPER*)*pploc;
      if (action&&do_ack) {
       if (action==-1)
        semq_.Ack(ah,1);
       else {
         ///< @note 如果tb_0030已经接收到则不应该再insert
        if (semq_.SaveAck(ah)==0) ///< @note 写入后loc中保存semq的object_id信息,Ack时需要使用
         semq_.Ack(ah,0);
       }
      }
      if (ret) { /// ret==0表示交给插件处理,其它值时释放ah对象
       if (ah) {
        delete ah;
        *pploc = 0;
       }
      }
     } catch(...) {
      nlogger_->log(LO_STDOUT|LO_FILE,SEVERITY_ERROR,"************CBBoxPlugin::HandleInput()异常.\n");
     }

     return ret;
    }

    action参数含义:
    0--不确认
    1-成功确认
    -1-失败确认:失败确认可能是需要重传的,取决于是否自动挂起和失败次数
    目前action=-1未被使用。
    在增加了失败重做特性后,失败确认已经无意义,SEMQ只负责传输,不关心消息处理是否成功。

    调整:
    3-不写tb_0030但要确认

    对于CheckAck已经确认接收到的消息,不需要再写tb_0030,直接返回确认消息。
    不按位定义action,是为了减少代码改动

    修改后:
      if (action&&do_ack) {
       if (action==-1)
        semq_.Ack(ah,1);
       else {
        if (action==3||semq_.SaveAck(ah)==0)
         semq_.Ack(ah,0);
       }
      }

    int CBBoxPlugin::HandleInput_i(CWrappedMsg<> *pwm,void **pploc,int &action)
    {
     SEMQ_ACK_HELPER* loc = GenAckHelper(pwm);

     *pploc = loc;
     action = 1; ///< 是否需要确认检查 1-需要 0-不需要  实际上是否确认是HandleInput函数中由msg->IsAutoAck()控制

      ...
     CMsg *msg = pwm->msg;///pwm->Detach();
     if (loc&&msg->IsAutoAck()) { ///< 检查是否是重复发送的消息(需要确认的消息接收后会写入Ack队列)
      int ret = CheckAck(loc);
      if (ret==-1) {
       action = 0;
       return -10;
      }
      if (ret==1) {
       action = 3; ///< 不写tb_0030  ///< @note 新增此行代码
       return 10;
      }
     }


    已同时修改以下3个项目的代码
    .das 1.0
    .gyb trunk
    .gyb2

     

    dxi_ddd.conf配置错误

    dxi_ddd.conf关于门店的规则配置存在以下问题:

    ---<key_field>缺少orgid字段。
    ---<command>的配置中orgid=10007,不应该是固定的常量,应该用@orgid的形式

    实际配置如下:

    <rule>
       <!--门店规则ID,自己定义要与dxi_change_log对应好 -->
       <id>1045</id>
    
       <!--单据类型,可以到0044表中查询获取-->
       <data_type>1045</data_type>
       <!--源主表主键-->
       <src_db>
       <ds_name>laton</ds_name> <!--源表数据源名称,缺省为默认源数据源 -->
       <master_table_name>tb_1045</master_table_name> <!-- 源表中主表名称,具体情况看抽取的sql,可能是从表(例如销售库存)不通过data_type自动获取是避免依赖,此模块可独立使用,不需要单据类型信息支持 -->
       <key_field>f001v_1045</key_field> <!--主表字段名称列表,会自动带入job表中的app_pk字段中内容到最下面的sql中 @ @内容 -->
       </src_db>
       
       <dest_db>
       <ds_name>JXJ_DB</ds_name> <!--目标数据源名称,缺省为默认目标数据源-->
    <master_table_name>tsm_shop_jk</master_table_name> <!-- 目标主表名称,仅用于业务主键冲突时删除原数据--> 
       <key_field prop="0">shopid</key_field> <!--prop表示属性 bit0: 1表示是自增长字段,注意填写导入目标表中的主键,需要填写目标表中的字段名-->
       </dest_db>
    
        <tables><!--表映射 -->
         <table>
          <name>tsm_shop_jk</name><!--目标主表名 -->
          <command>
    select  
      bizcode as bizstoreid,
      f001v_1045 as shopid,
      f002v_1045 as name,
      f003v_1045 as address,
      provincename as provincename,
      cityname as cityname,
      status as status,
      opendate as opendate,
      closedate as closedate
      from tb_1045 a,tb_jxjorgcode b
    where  f001v_1045='@f001v_1045' and a.orgid=10007
    and a.orgid=b.orgid 
    
       </command>
         </table>
    
        </tables>
       </rule>
    


      

    1.2处理意见

    .修改dxi_ddd.conf配置---解决现象1的问题

    .门店资料表字典信息增加orgid作为主键列,修改抽取规则.---解决现象2的问题

    .编译升级bbox---解决现象3的问题,暂时不升级

       
    2.前置机

    2.1分析

       
    现象1:tb_1045主键冲突

    这是由于门店抽取每天全量处理,抽取的记录写入本地时报此错误。   
    [2014-11-30 06:01:21:675][线程1624][5][20][0][]CDbAccessor2::Execute insert into tb_1045(ORGID,F001V_1045,F002V_1045,F003V_1045,STATUS,MODIFY_TIME) values (10047,'F096','华冠欢乐城店','11',0,'2014-11-30 05:54:41');产生异常(Error
    Code = 80040e2f
    Code meaning = IDispatch error #3119
    Source = Microsoft OLE DB Provider for SQL Server
    Description =违反了 PRIMARY KEY 约束 'PK_tb_1045'。不能在对象 'dbo.tb_1045' 中插入重复键。
    ([1]Number:0X80040E2F Description:违反了 PRIMARY KEY 约束 'PK_tb_1045'。不能在对象 'dbo.tb_1045' 中插入重复键。 SQLState:23000 NativeError:2627[2]Number:0X80040E2F Description:语句已终止。 SQLState:01000 NativeError:3621)).
       
    主键冲突时会按照lm.conf的<on_dup_key>的配置处理。
    此错误不影响正常运行。
    如果升级到das2.0,把抽取规则配置为全表同步,则可以消除此错误。


    现象2:系统忙时,经常出现无可用数据库连接的情况:

    [2014-11-30 07:28:48:159][线程888][2][20][0][]LATON#client使用情况:
    [2014-11-30 07:28:48:159][线程888][2][20][0][][1]连接id=1,使用状态=已使用,取用时间=5255(秒),拥有者线程=3184.
    配置的数据库连接数为35个。

    这和数据库性能低下有关。也可以加大hotfox.conf的数据库连接配置,该值一般应设置的比<scheduler><thread>大。


    现象3:大量的频繁的“超时已过期”的错误

    [2014-11-30 10:45:42:362][线程1056][5][20][0][]CDbAccessor2::Execute update tb_1050 set send_status = 100, send_time = '2014-11-30 10:35:41'   where sheet_id = 'F076201411290021' and src_orgid = 10047产生异常(Error
    Code = 80040e31
    Code meaning = IDispatch error #3121
    Source = Microsoft OLE DB Provider for SQL Server
    Description =超时已过期
    ([1]Number:0X80040E31 Description:超时已过期 SQLState:HYT00 NativeError:0)).
    [2014-11-30 10:45:42:362][线程1056][5][20][0][]DATA_SEND_OUT事件处理失败,UpdateSheetTableStatus=-1,键=0,100,1050,10047,F076201411290021,10047


    sql命令耗时情况:

    [2014-11-30 06:01:04:769][线程2992][2][20][0][]select 10047 as storeid, a.sheetid, a.venderid, a.shopid, a.refsheetid, 1 as status, convert(char(10) ,a.checkdate,120) as checkdate, b.deptid, sum(b.qty*b.cost) costvalue, convert(char(10) ,a.checkdate,120) as checkdate1 from ret a,retcostitem b where a.sheetid=b.sheetid and a.flag=100 and convert(char(10) ,checkdate,120) between convert(char(10) ,getdate() -3,120) and convert(char(10) ,getdate() -1,120) group by a.sheetid,a.refsheetid,a.shopid,a.venderid,a.flag,convert(char(10) ,a.checkdate,120) ,b.deptid
    耗时:21.20(秒)
    [2014-11-30 06:01:42:581][线程2920][2][20][0][]update tb_1105 set send_status = 4, send_time = '2014-11-30 06:01:25'   where sheet_id = 'F086201411290003' and src_orgid = 10047
    耗时:17.25(秒)
    [2014-11-30 06:12:21:269][线程908][2][20][0][]update tb_1050 set send_status = 100, send_time = '2014-11-30 06:02:20'   where sheet_id = 'F085201411290003' and src_orgid = 10047
    耗时:600.33(秒)
    [2014-11-30 06:12:21:284][线程1048][2][20][0][]update tb_1050 set send_status = 100, send_time = '2014-11-30 06:02:21'   where sheet_id = 'F087201411290085' and src_orgid = 10047
    耗时:600.23(秒)
    [2014-11-30 06:23:05:034][线程1316][2][20][0][]update tb_1101 set send_status = 100, send_time = '2014-11-30 06:13:05'   where sheet_id = 'F029201411290014' and src_orgid = 10047
    耗时:599.97(秒)
    [2014-11-30 06:33:06:097][线程3424][2][20][0][]update tb_1101 set send_status = 100, send_time = '2014-11-30 06:23:07'   where sheet_id = 'F092201411280005' and src_orgid = 10047
    耗时:598.83(秒)
    [2014-11-30 06:33:18:644][线程3200][2][20][0][]update tb_1050 set send_status = 100, send_time = '2014-11-30 06:33:05'   where sheet_id = 'F061201411290023' and src_orgid = 10047
    耗时:12.72(秒)
    [2014-11-30 06:44:43:722][线程1316][2][20][0][]update tb_1101 set send_status = 100, send_time = '2014-11-30 06:34:43'   where sheet_id = 'F086201411280008' and src_orgid = 10047
    耗时:600.38(秒)

     

    2.2处理意见


    1.大量的频繁的超时已过期的错误:(1)检查数据库服务器硬件配置 (2)进行优化

    2.系统忙时,经常出现无可用数据库连接的情况。配置的数据库连接数为35个。

    这和数据库性能低下有关。也可以加大hotfox.conf的数据库连接配置,该值一般应设置的比<scheduler><thread>大。

     

     

     

     

    展开全文
  • 关于分布式声波传感系统DAS的使用说明。 利用相干瑞利散射光的相位而非光强来探测音频范围内的声音或振动等信号,?不仅可以利用相位幅值大小来提供声音或振动事件强度信息,还利用线性定量测量值来实现对声音或振动...
  • 大家日常用的电脑,就是一个DAS系统,如下图: 2.NAS 如果将计算和存储分离了,存储成为一个独立的设备,并且存储有自己的文件系统,可以自己管理数据,就是NAS。计算和存储间一般采用以太网络连接,走的...

    一般情况下,我们将存储分成了3种类型,基于本机的DAS以及基于网络的NAS存储、SAN存储。

    1.DAS

    DAS将计算、存储能力一把抓,封装在一个服务器里。大家日常用的电脑,就是一个DAS系统,如下图:



    2.NAS

    如果将计算和存储分离了,存储成为一个独立的设备,并且存储有自己的文件系统,可以自己管理数据,就是NAS。计算和存储间一般采用以太网络连接,走的是CIFS或NFS协议。服务器们可以共享一个文件系统。NAS的架构图如下:



    3.SAN

    计算和存储分离了,存储成为一个独立的设备,存储只是接受命令不再做复杂的计算,只干读取或者写入文件2件事情,叫SAN。因为不带文件系统,所以也叫“裸存储”,有些应用就需要裸设备,如数据库。存储只接受简单明了的命令,其他复杂的事情,有服务器端干了。再配合FC网络,这种存储数据读取/写入的速度很高。SAN的架构如下图所示:



    4.DAS | NAS | SAN的区别

    简单来说,DAS | NAS | SAN三者的区别如下:



    学习资料参考于:

    http://mp.weixin.qq.com/s?src=3&timestamp=1471173381&ver=1&signature=jdmXMbPclL49uWUM1-b1-H2PR5VBYnLZhROfftyGkW9OJ59eP1ONjudw--vF*XvMkU53lAl*DsAU9CaxhAVdir39i0EMid42JvMA07OUpMpZlF0D*JaGh-Z-OolJHsGsX6j0fsoAHO7I0e2bIGCfOAG0IY8XqXt87MBJg4jqHJ0=

    展开全文
  • 分布式光纤振动监测系统DAS

    千次阅读 2018-11-28 10:55:24
    1、DAS分布式光纤振动监测系统简介:BLY-DAS-V5S光纤多点定位型振动光缆报警系统是由我司独立研发而成,具有精确定位功能,系统采用光纤传感技术,在不需供电的情况下能够提供长达60公里距离的安全预警监控,特别...
  • DAS访问控制系统允许使用往返于中央数据库云系统的套接字进行并行UID票证即时验证
  • DAS

    2017-01-22 00:25:39
    ICT基础设施存储架构DAS的定义 SCSI协议和存储系统 固态硬盘概述
  • DAS_XE10 数字自动拣选系统
  • 数据访问服务系统DAS 2.0)
  • 基于Q-DAS的车辆零部件质量管理系统设计
  • DAS、NAS、SAN存储系统分析

    千次阅读 2012-12-19 16:43:41
    DAS、NAS、SAN存储系统分析 目前磁盘存储市场上,存储分类(如下表一)根据服务器类型分为:封闭系统的存储和开放系统的存储,封闭系统主要指大型机,AS400等服务器,开放系统指基于包括Windows、UNIX、Linux...
  • 1.你能够言简意赅地给DAS下个定义吗? 直接附加存储(DAS)最基本的在于,它的数据存储是以某种形式直接连接到服务器上的。你可以这样认为:它不是网络互联的。换句话说,它不使用存储区域网络(SAN)、网络附加存储(NAS...
  • 基于16位8通道DAS AD7606的可扩展多通道 同步采样数据采集系统(DAS)的布局考虑
  • 高性能、多通道、同时采样ADC在数据采集系统(DAS)中的设计摘要:本文将帮助设计人员实现高性能、多通道、同时采样的数据采集系统(DAS)。介绍了元器件的合理选择及其PCB布线,以优化系统性能。
  •  LM12H458是高集成度的数据采集系统DAS 芯片,它将采样保持、A/D转换集成在一块芯片内,从而大大减少了外围电路的设计。其8路模拟信号输入既可作为单端输入,又可两两组成差分输入。器件内部提供的一个2.5V参考...
  • 关于das

    2014-09-19 03:19:24
    das是一个数据采集系统,把各个零售商ERP系统的数据提取出来,以统一的格式发送给das平台,再转入金融平台数据库。 das继承自供应宝系统,是分离出来的点-点的数据传输服务,其特点如下: 。实时:可与ERP系统同步...
  • DAS、NAS、SAN存储系统完全分析 目前磁盘存储市场上,存储分类(如下表一)根据服务器类型分为:封闭系统的存储和开放系统的存储,封闭系统主要指大型机,AS400等服务器,开放系统指基于包括Windows、UNIX、Linux...
  • 目前磁盘存储市场上,存储分类(如下表一)根据服务器类型分为:封闭系统的存储和开放系统...开放系统的外挂存储根据连接的方式分为:直连式存储(Direct-Attached Storage,简称DAS)和网络化存储(Fabric-Attache...
  • 官方的Das Schwarze Auge / The Dark Eye for Foundry系统 当前版本和兼容性: 1.3.1-FoundryVTT 0.7.0+此系统旨在与配合使用,以播放“ Das Schwarze Auge”第5版。 安装-自动安装程序 在FVTT游戏系统菜单中,单击...
  • 以下特性是因gyb2.0的需要而引入,作为das系统的新增特性。 1.支持系统字段可以配置 目前是为了支持gyb2而增加的功能. 在lm.conf中配置.目前仅支持的系统字段有: SF_SRC_ORGID = 55, /// 源机构(零售商) SF_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,172
精华内容 468
关键字:

das系统