环球观天下!解剖屎山,寻觅黄金之第二弹

来源:程序员客栈 2023-03-31 18:46:14

大家好,我3y啊。由于去重逻辑重构了几次,好多股东直呼看不懂,于是我今天再安排一波对代码的解析吧。austin支持两种去重的类型:N分钟相同内容达到N次去重和一天内N次相同渠道频次去重。

在最开始,我的第一版实现是这样的:


(相关资料图)

publicvoidduplication(TaskInfotaskInfo){//配置示例:{"contentDeduplication":{"num":1,"time":300},"frequencyDeduplication":{"num":5}}JSONObjectproperty=JSON.parseObject(config.getProperty(DEDUPLICATION_RULE_KEY,AustinConstant.APOLLO_DEFAULT_VALUE_JSON_OBJECT));JSONObjectcontentDeduplication=property.getJSONObject(CONTENT_DEDUPLICATION);JSONObjectfrequencyDeduplication=property.getJSONObject(FREQUENCY_DEDUPLICATION);//文案去重DeduplicationParamcontentParams=DeduplicationParam.builder().deduplicationTime(contentDeduplication.getLong(TIME)).countNum(contentDeduplication.getInteger(NUM)).taskInfo(taskInfo).anchorState(AnchorState.CONTENT_DEDUPLICATION).build();contentDeduplicationService.deduplication(contentParams);//运营总规则去重(一天内用户收到最多同一个渠道的消息次数)Longseconds=(DateUtil.endOfDay(newDate()).getTime()-DateUtil.current())/1000;DeduplicationParambusinessParams=DeduplicationParam.builder().deduplicationTime(seconds).countNum(frequencyDeduplication.getInteger(NUM)).taskInfo(taskInfo).anchorState(AnchorState.RULE_DEDUPLICATION).build();frequencyDeduplicationService.deduplication(businessParams);}

那时候很简单,基本主体逻辑都写在这个入口上了,应该都能看得懂。后来,群里滴滴哥表示这种代码不行,不能一眼看出来它干了什么。于是怒提了一波pull request重构了一版,入口是这样的:

publicvoidduplication(TaskInfotaskInfo){//配置样例:{"contentDeduplication":{"num":1,"time":300},"frequencyDeduplication":{"num":5}}Stringdeduplication=config.getProperty(DeduplicationConstants.DEDUPLICATION_RULE_KEY,AustinConstant.APOLLO_DEFAULT_VALUE_JSON_OBJECT);//去重DEDUPLICATION_LIST.forEach(key->{DeduplicationParamdeduplicationParam=builderFactory.select(key).build(deduplication,key);if(deduplicationParam!=null){deduplicationParam.setTaskInfo(taskInfo);DeduplicationServicededuplicationService=findService(key+SERVICE);deduplicationService.deduplication(deduplicationParam);}});}

我猜想他的思路就是把构建去重参数和选择具体的去重服务给封装起来了,在最外层的代码看起来就很简洁了。后来又跟他聊了下,他的设计思路是这样的:考虑到以后会有其他规则的去重就把去重逻辑单独封装起来了,之后用策略模版的设计模式进行了重构,重构后的代码 模版不变,支持各种不同策略的去重,扩展性更高更强更简洁

确实牛逼。

我基于上面的思路微改了下入口,代码最终演变成这样:

publicvoidduplication(TaskInfotaskInfo){//配置样例:{"deduplication_10":{"num":1,"time":300},"deduplication_20":{"num":5}}StringdeduplicationConfig=config.getProperty(DEDUPLICATION_RULE_KEY,CommonConstant.EMPTY_JSON_OBJECT);//去重ListdeduplicationList=DeduplicationType.getDeduplicationList();for(IntegerdeduplicationType:deduplicationList){DeduplicationParamdeduplicationParam=deduplicationHolder.selectBuilder(deduplicationType).build(deduplicationConfig,taskInfo);if(Objects.nonNull(deduplicationParam)){deduplicationHolder.selectService(deduplicationType).deduplication(deduplicationParam);}}}

到这,应该大多数人还能跟上吧?在讲具体的代码之前,我们先来简单看看去重功能的代码结构(这会对后面看代码有帮助)

去重的逻辑可以统一抽象为:在X时间段内达到了Y阈值,还记得我曾经说过:「去重」的本质:「业务Key」+「存储」。那么去重实现的步骤可以简单分为(我这边存储就用的Redis):

通过Key从Redis获取记录判断该Key在Redis的记录是否符合条件符合条件的则去重,不符合条件的则重新塞进Redis更新记录

为了方便调整去重的参数,我把X时间段和Y阈值都放到了配置里{"deduplication_10":{"num":1,"time":300},"deduplication_20":{"num":5}}。目前有两种去重的具体实现:

1、5分钟内相同用户如果收到相同的内容,则应该被过滤掉

2、一天内相同的用户如果已经收到某渠道内容5次,则应该被过滤掉

从配置中心拿到配置信息了以后,Builder就是根据这两种类型去构建出DeduplicationParam,就是以下代码:

DeduplicationParamdeduplicationParam=deduplicationHolder.selectBuilder(deduplicationType).build(deduplicationConfig,taskInfo);

Builder和DeduplicationService都用了类似的写法(在子类初始化的时候指定类型,在父类统一接收,放到Map里管理)

而统一管理着这些服务有个中心的地方,我把这取名为DeduplicationHolder

/***@authorhuskey*@date2022/1/18*/@ServicepublicclassDeduplicationHolder{privatefinalMapbuilderHolder=newHashMap<>(4);privatefinalMapserviceHolder=newHashMap<>(4);publicBuilderselectBuilder(Integerkey){returnbuilderHolder.get(key);}publicDeduplicationServiceselectService(Integerkey){returnserviceHolder.get(key);}publicvoidputBuilder(Integerkey,Builderbuilder){builderHolder.put(key,builder);}publicvoidputService(Integerkey,DeduplicationServiceservice){serviceHolder.put(key,service);}}

前面提到的业务Key,是在AbstractDeduplicationService的子类下构建的:

而具体的去重逻辑实现则都在LimitService下,{一天内相同的用户如果已经收到某渠道内容5次}是在SimpleLimitService中处理使用mget和pipelineSetEX就完成了实现。而{5分钟内相同用户如果收到相同的内容}是在SlideWindowLimitService中处理,使用了lua脚本完成了实现。

LimitService的代码都来源于@caolongxiu的pull request,建议大家可以对比commit再学习一番:https://gitee.com/zhongfucheng/austin/pulls/19

1、频次去重采用普通的计数去重方法,限制的是每天发送的条数。

2、内容去重采用的是新开发的基于redis中zset的滑动窗口去重,可以做到严格控制单位时间内的频次。

3、redis使用lua脚本来保证原子性和减少网络io的损耗

4、redis的key增加前缀做到数据隔离(后期可能有动态更换去重方法的需求)

5、把具体限流去重方法从DeduplicationService抽取出来,DeduplicationService只需设置构造器注入时注入的AbstractLimitService(具体限流去重服务)类型即可动态更换去重的方法 6、使用雪花算法生成zset的唯一value,score使用的是当前的时间戳

针对滑动窗口去重,有会引申出新的问题:limit.lua的逻辑?为什么要移除时间窗口的之前的数据?为什么ARGV[4]参数要唯一?为什么要expire?

A: 使用滑动窗口可以保证N分钟达到N次进行去重。滑动窗口可以回顾下TCP的,也可以回顾下刷LeetCode时的一些题,那这为什么要移除,就不陌生了。

为什么ARGV[4]要唯一,具体可以看看zadd这条命令,我们只需要保证每次add进窗口内的成员是唯一的,那么就不会触发有更新的操作(我认为这样设计会更加简单些),而唯一Key用雪花算法比较方便。

为什么expire?,如果这个key只被调用一次。那就很有可能在redis内存常驻了,expire能避免这种情况。

推荐项目

最后再叨叨吧,很多人可能会发一段截图,跑来问我为什么要这样写,为什么要以这种方式实现,能不能以这种方式实现。这时候,我更想看到的是:你已经实现了第二种方式了,然后探讨你写的这种方案好不好,现有的代码差在哪里。

毕竟问问题很简单,我又不是客服,总不能没诚意的问题我都得一一回答吧。

如果想学Java项目的,我还是强烈推荐我的开源项目消息推送平台Austin,可以用作毕业设计,可以用作校招,可以看看生产环境是怎么推送消息的。

仓库地址(可点击阅读原文跳转):https://gitee.com/zhongfucheng/austin

我开通了股东服务内容,感兴趣可以点击下方看看,主要针对的是项目哟

VIP服务

上一篇 : 火星人作为创立单位之一,受邀参加中国传感器与物联网产业联盟智慧生活专委会成立|速读

下一篇 : 最后一页

x 广告
高层声音

环球观天下!解剖屎山,寻觅黄金之第二弹

2023-03-31

火星人作为创立单位之一,受邀参加中国传感器与物联网产业联盟智慧生活专委会成立|速读

2023-03-31

易方达基金50,易方达上证50指数A产品信息,从三个角度来看|微头条

2023-03-31

3月31日废钢持续反弹,银四要来了?

2023-03-31

数字赋能 智慧体育为老年人健康产业发展提供新动力 当前动态

2023-03-31

成都工贸职业技术学院单招成绩及拟录取结果查询2023

2023-03-31

一场激烈的技能大赛_环球讯息

2023-03-31

华硕宣布推出Chromebox 5,一台支持无线充电的迷你主机|天天观点

2023-03-31

每日观点:总监的粉丝团--天下谁人不识君

2023-03-31

河北开展“公共就业服务进校园”活动 多措并举促进高校毕业生就业创业-每日动态

2023-03-31

雁园街道雁滨社区莱茵小镇小区:织密“和睦邻里”便民服务网

2023-03-31

每日简讯:珠海公安:不再处罚!通知已发布,事关驾车、居住登记…

2023-03-31

河南工程学院代码6155专科_河南工程学院代码

2023-03-31

猛男军中鬼故事 迅雷下载_猛男军中鬼故事2|全球简讯

2023-03-31

三国战纪冰剑怎么拿不了_三国战纪冰剑怎么拿

2023-03-31

今日热闻!树立劳动观念 共创美丽校园——开江县新街小学开展卫生大扫除活动

2023-03-30

dnf收集箱宝珠名称_dnf2021收集箱宝珠名字_环球快资讯

2023-03-30

兰石重装:公司暂未与沙特相关公司有业务往来

2023-03-30

资讯:新股中签结果:中信金属(601061)公布中签号

2023-03-30

建行回应美欧银行风险影响:没有风险敞口 海外业务保持稳健发展 环球观察

2023-03-30

今日热文:“干”字当头聚合力 湖南省全力推进外来入侵物种普查工作

2023-03-30

2023上海浦东新区公租房申请材料

2023-03-30

双鸭山市开展2023“农资打假保春耕”专项行动 聚看点

2023-03-30

环球视讯!老婆生日买什么礼物,有创意礼物攻略

2023-03-30

曲靖:积极“走出去”招商引资再提速 全球速读

2023-03-30

美媒:美国两架黑鹰直升机相撞坠毁

2023-03-30

重点聚焦!约翰逊-奈奎斯特噪声_关于约翰逊-奈奎斯特噪声介绍

2023-03-30

我国短视频用户达10.12亿 你每天刷多久?-资讯推荐

2023-03-30

湘潭电化:3月29日融资买入1536.77万元,融资融券余额2.77亿元-当前资讯

2023-03-30

鬼针草的养殖方法和注意事项 鬼针草的养殖方法和注意事项有哪些

2023-03-30

天天即时看!德性教学论

2023-03-30

敦化市农业农村局举办全市农业新技术培训班

2023-03-30

转载 | 基于词嵌入技术的心理学研究: 方法及应用

2023-03-30

不见面磋商,企业“零跑腿”,东城实现政府采购全流程电子化

2023-03-30

天天亮点!忏悔文曲_忏悔曲死了多少人

2023-03-30

焦点热讯:基地锦标集团(08460)发盈警,预计2022年度净亏损不超700万港元,由盈转亏

2023-03-29

天天微速讯:广汽集团2022年净利润增长,全年派发现金股利占比达31%

2023-03-29

狗舍

2023-03-29

继2022年盈利预警后,碧桂园服务年报交出合格答卷 环球即时看

2023-03-29

刘雪平 史国珍巡视 监督全省2023年体育统考工作

2023-03-29

【世界聚看点】西部黄金:子公司哈图公司复工

2023-03-29

湖北黄梅县法院维护青少年权益工作纪实|环球播资讯

2023-03-29

珠海金湾三灶开展“学雷锋月”系列志愿活动

2023-03-29

我发现互联网工作的性价比还在持续走低,没看到好转的迹象|天天观察

2023-03-29

长江后浪推前浪下一句谚语 长江后浪推前浪下一句 天天看点

2023-03-29

中光学(002189.SZ):贾金富不再担任副总经理职务

2023-03-29

海坛海峡水下考古遗址公园开工

2023-03-29

环球观焦点:北晴南雨!北方升温持续多地暖如5月 华南局地有大雨

2023-03-29

世界焦点!“最好的味道还是那一抹乡愁”

2023-03-29

世界讯息:book award是什么意思_award是什么意思

2023-03-29

爱信6AT成本才8千,为什么自主品牌一定要研发双离合变速箱?

2023-03-29

三友医疗(688085):3月28日北向资金减持1.7万股

2023-03-29

每日焦点!苹果iPhone手机appleID被禁用是什么原因要如何解决

2023-03-28

世界热讯:上海复旦(01385):上海年锦累计减持1070.61万股 减持计划实施完毕

2023-03-28

今日观点!沸石皮革鞣制技术,制革业的新方向?

2023-03-28

世界速读:2023广西注册会计师报考时间:4月6日至4月28日

2023-03-28

焦点热讯:上海大众汽车10到15万车型哪款好 大众10到15万车型推荐

2023-03-28

海龟先生巡演演出安排2023 环球速看料

2023-03-28

看热讯:SMM日评:美元继续回落 金属全线收涨 沪锡涨2.23%

2023-03-28

天天亮点!神开股份:本次计提信用减值准备及资产减值准备 预计导致公司2022年度利润总额减少约3085万元

2023-03-28

金富科技(003018):年度股东大会通知,审议《2022年度董事会工作报告》等议案

2023-03-28

正版真精华布衣天下123456_精华布衣天下123456

2023-03-28

2月环境空气质量大同最好获得奖励

2023-03-28

世界今热点:开盘:A股三大指数涨跌不一,荣盛石化涨停封单超520万手

2023-03-28

燃爆全场!“村BA”总决赛完美收官

2023-03-28

长春市中车历史文化街区项目开工-环球实时

2023-03-28

被蜜蜂蛰了该怎么消肿_被蜜蜂蛰了怎么消肿止庠|全球热点

2023-03-28

中泛控股收到OFS申请及文件 拟提出强烈抗辩_世界最资讯

2023-03-28

好耍好看!大河苗族乡文旅活动开幕了,持续到4月1日~_天天热推荐

2023-03-27

环球简讯:中国的餐饮好就好在“适量”二字

2023-03-27

热消息:雅迪去年营收311亿元:电动踏板车销量降、电动自行车销量增

2023-03-27

宝能持股南玻的离岸公司承泰集团“已告解散”|当前快报

2023-03-27

恶魔的印迹1990_恶魔的印迹

2023-03-27

亵渎的读音 亵渎怎么读

2023-03-27

自制豆浆隔夜能喝吗_自制豆浆适合隔夜饮用吗

2023-03-27

河北高邑经开区三大举措助推企业发展_天天微速讯

2023-03-27

docker none镜像产生的原因,以及处理方式-环球新动态

2023-03-27

车辆长时间停放,做好这4点保护措施很重要,千万不能放任不管 当前播报

2023-03-27

每一年的禁毒日是几月几日_国际禁毒日就是每年的6月26日对吗 全球微动态

2023-03-27

天天快讯:首批基金年报透露投资圈哪些秘密

2023-03-27

环球热头条丨台湾刚失1个盟友,又有160人落地台湾,经济制裁为何很难起效果?

2023-03-27

焦点讯息:苏群:这是我看过最激烈&水平最高的一次CBA全明星赛

2023-03-26

北京健康证办理地点一览表_北京健康证办理地点 世界热讯

2023-03-26

田园诗词大全100首五言绝句_田园诗词大全100首

2023-03-26

全球热讯:危险货物的危险性_ldquo 危险货物 rdquo 的定义是什么

2023-03-26

天天热推荐:新闻周刊丨她是造出“彩虹村”的“97”村支书

2023-03-26

普乐士M-18W加宽型_对于普乐士M-18W加宽型简单介绍

2023-03-26

什么叫朋克什么叫蒸汽朋克

2023-03-26

牙膏监管新规来了!这些功效不能随便说→ 当前信息

2023-03-26

累计发现超百座 哈密成新疆烽燧最丰富地区

2023-03-26

荷兰国家队官方:德里赫特和维布鲁亨从病毒感染中康复,已经归队-环球视讯

2023-03-25

顶真的作用

2023-03-25

【环球聚看点】世体记者:穆里尼奥在执教皇马期间,曾想为球队签下卢卡库

2023-03-25

【报资讯】搭魅族Flyme Auto系统 领克08内饰官图

2023-03-25

他们目前唯一需要做的就是让球队保持健康 焦点速看

2023-03-25

赘婿韩三千大结局

2023-03-25

实时:诺基亚手机官网_诺基亚手机来电通

2023-03-25

R134a行情周报(3.20-3.25)

2023-03-25

美在叙代尔祖尔省军事基地再遭袭

2023-03-25

公司未来的发展愿景的话语|世界今日讯

2023-03-25

博时第三产业-博时第三产业基金怎么样?请高人指点. 当前速讯

2023-03-25

全球快资讯:众安集团2022年归母净利润1.87亿元 同比增长155.4%

2023-03-25

Python集成百度地图【配套视频】

2023-03-24

首个国产mRNA新冠疫苗获批,但是谁接种?

2023-03-24

中证协进一步规范券商APP“一键打新”功能|世界今亮点

2023-03-24

红粉佳人什么意思

2023-03-24

天天消息!江西宜春袁州区下浦街道积极推进早稻种植工作

2023-03-24

锂价跌破30万元/吨 短期或将继续下探

2023-03-24

豫园股份2022年扣非净利1.62亿降逾九成,处置资产“回水”55.89亿

2023-03-24

和讯个股快报:2023年03月24日 万里扬(002434)13:20分,股价快速拉升

2023-03-24

富临精工:公司磷酸铁锂正极材料产品得到国际一线车企充分认可_当前观点

2023-03-24

卡塔尔收购曼联报价金额曝光!格雷泽不满意,谈判恐再拖延一个月

2023-03-24

当前动态:玖玖所有的小说

2023-03-24

拉亚多斯足球俱乐部-全球播报

2023-03-24

沪深股市交易提示(3月24日)

2023-03-24

火影忍者佐助vs迪达拉是第几集(火影忍者佐助vs迪达拉)

2023-03-24

蚊子和狮子原文及翻译_蚊子和狮子原文|焦点要闻

2023-03-24

三分之一怎么打出来_三分之一怎么打_资讯

2023-03-23

曹颖演的电视剧有哪些

2023-03-23

每日资讯:2月份,四川快递业务量2.20亿件 成都1.34亿件

2023-03-23

《网信部门行政执法程序规定》明确“一事不二罚” 动态焦点

2023-03-23

天天热消息:国家发展改革委财金司召开部分行业企业座谈会

2023-03-23

汽车疯狂降价潮引担忧:狂欢之后会不会是淘汰潮

2023-03-23

金华双龙风景旅游区一季度免费门票包含哪些景点? 天天热文

2023-03-23

2023年海南计划筹集保障性租赁住房3455套(间) 环球热闻

2023-03-23

秦时明月张良是谁

2023-03-23

蜜雪冰城12天6家门店被查处,食安问题严峻,张红甫难管加盟商?

2023-03-23

世界百事通!42000万元!山西重金投入强推高校建设

2023-03-23

视讯!和讯个股快报:2023年03月23日 新炬网络(605398)该股换手率大于8%

2023-03-23

女职工哺乳期为多久

2023-03-23

全球微资讯!微信公共平台的好处和坏处

2023-03-23

复方氨酚烷胺胶囊的作用与功效说明书_复方氨酚烷胺胶囊功效与作用是什么

2023-03-23

性感的名字_最性感的网名

2023-03-23

观点:爱柯迪(600933):关于召开2022年年度股东大会,审议2022年度董事会工作报告等议案

2023-03-22

荣昌生物:1.17亿股限售股将于3月31日解禁 焦点速读

2023-03-22

尘封,尘封是什么意思

2023-03-22

诚信的文章2000字_诚信的文章|世界最新

2023-03-22

环球讯息:中电建路桥集团:10亿元科技创新公司债券票面利率为3.21%

2023-03-22

体系或框架里面的问题 环球聚焦

2023-03-22

民生等重点领域支出得到有力保障 每日热文

2023-03-22

每日看点!筑牢安全防线 共建安全堤坝

2023-03-22

天天新动态:帕森斯:相比防詹姆斯,更害怕防杜兰特

2023-03-22

每日讯息!中国铝业去年同比少赚 15.67 亿元 控股云铝股份将优化资产结构

2023-03-22

有一说一确实表情包_有一说一确实|今日观点

2023-03-22

瑞联新材: 关于向不特定对象发行可转换公司债券预案(修订稿)披露的提示性公告

2023-03-21

全球播报:三亚五星级酒店售价1800元的枕头拉丝起球还粘毛发?回应:是羽毛

2023-03-21

厦门清明节高速免费到什么时候结束? 每日热点

2023-03-21

观点:四级考试多少分及格通过(四级考试多少分及格)

2023-03-21

全球热门:南通中考体育评分标准2023

2023-03-21

欧文28分独木难支 小杰克逊率灰熊逆转独行侠_世界热点

2023-03-21

普法强基在行动|河口:阳春三月普法忙,法治宣传不打烊!|每日视点

2023-03-21

全球时讯:计算机软件分类有哪些_计算机软件有哪些

2023-03-21

当前视点!刚怀孕怎么自然弄掉_月经刚完会不会怀孕

2023-03-21

焦点报道:狐妖小红娘竹业篇王权霸业在圈外遇到了什么_狐妖小红娘 竹业篇王权霸业的朋友是怎么死的

2023-03-20

比亚迪、北方稀土入股金龙稀土 每日播报

2023-03-20

太原社保卡要自己去银行办吗 全球快消息

2023-03-20

快讯2023-03-20 14:51:07

2023-03-20

来看戏!克莱破防!狄龙成为最后赢家?

2023-03-20

防艾滋宣传视频_防艾_热点评

2023-03-20

每日快看:并行工程和传统的产品开发模式_并行工程

2023-03-20

空调没开,但为什么空调里会漏水出来? 全球新要闻

2023-03-20

世界实时:宜宾3.4级地震什么情况?地震前动物会有哪些反应?

2023-03-20

当前通讯!贵阳到成都高铁最晚一趟车_贵阳到成都高铁

2023-03-19

《白雪公主》主演删除中文评论具体详细内容是什么 当前短讯

2023-03-19

当前热点-七五计划(七五)

2023-03-19

学术翻译工具_学术翻译_环球观天下

2023-03-19

全球热头条丨脑出血后遗症的治疗要点_脑出血后遗症的治疗

2023-03-19

ps海报大小尺寸是多少_海报大小尺寸ps

2023-03-19

【全球速看料】万人说新疆|让孩子们做感兴趣的事

2023-03-18

环球焦点!西力士官网厂家直销_西力士唯一官方网站

2023-03-18

当前视讯!记者:拉特克利夫与曼联的谈判进展顺利

2023-03-18

重庆:“以硬生软”赋能制造业高质量发展 天天快播报

2023-03-18

幽门螺杆菌抗体阳性_幽门螺杆菌阳性怎么治疗

2023-03-18

中极穴的准确位置图穴位视频_中极穴位在哪里

2023-03-18

全球时讯:七年级上册地理复习资料_地理七年级上册复习资料

2023-03-17

360可能导致云服务器出现这些问题 热点

2023-03-17

烟台市社保查询系统 当前播报

2023-03-17

2023杭州钱塘高铁枢纽工程最新进展(持续更新)

2023-03-17

世界即时看!实参不可以是_实参可以是常量 变量或表达式 形参列

2023-03-17

迪普科技:3月16日融资买入598.85万元,融资融券余额1.44亿元|天天新资讯

2023-03-17

世界快看:河北衡水打造食品产业集群

2023-03-17

肾积水是怎么回事(肾积水是怎么回事)-环球头条

2023-03-17

搞笑言情小说包txt下载_搞笑言情小说

2023-03-17

诉讼和解协议的法律效力_和解协议的法律效力

2023-03-16

2023年莆田青年志愿植树活动在江东村木兰溪畔举行

2023-03-16

当前速看:首次对阵!3月16日晚两位南昌小将亮相世界级羽毛球比赛

2023-03-16

属牛几点出生最好男孩 戍时出生福星高照-世界速递

2023-03-16

南京市人力资源与社会保障厅电话_南京市人力资源与社会保障厅

2023-03-16

帕瓦股份:3月15日融券卖出8200股,融资融券余额3904.6万元

2023-03-16

全球速读:空中惊魂!曝快船包机曾被闪电击中 海兰德:我们当时以为完蛋了

2023-03-16

当前视讯!拼多多打印组件(拼多多打印组件)

2023-03-16

迪生力: 迪生力2022年度利润分配方案的公告

2023-03-15

一个瓜子里仁最多有多少?

2023-03-15

3月15日国内邻苯产业链价格汇总_天天快资讯

2023-03-15

英下议院议长辞职 再为脱欧?英国首相约翰逊怎么说?-天天资讯

2023-03-15

盖洛普民调:47%美国受访者认为生活回不到疫情前

2023-03-15

央视大国工匠颁奖词_央视最美教师颁奖词|全球新资讯

2023-03-15

oppok7和vivos7哪个好(oppok7和vivos7哪个好)

2023-03-15

民营医院板块3月14日跌0.98%,*ST和佳领跌,主力资金净流出5.63亿元-环球报道

2023-03-15

中航产融: 中航产融关于计提资产减值准备的公告

2023-03-14

返回顶部